Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将时间维度按照我从excel电子表格导入SQL Server的顺序排列?_Sql_Sql Server_Excel - Fatal编程技术网

如何将时间维度按照我从excel电子表格导入SQL Server的顺序排列?

如何将时间维度按照我从excel电子表格导入SQL Server的顺序排列?,sql,sql-server,excel,Sql,Sql Server,Excel,我将时间维度从excel电子表格导入SQL Server 时间维度开始日期为2005-07-01至2025-12-31(澳大利亚格式) Tha属性由以下部分组成: 时间键日期日期\u名称年份\u名称半年\u名称半年\u名称季度\u名称和所有会计属性 无论如何,当我在excel电子表格中创建这个TimeDim时,它是有序的,从2005年7月1日到2025年12月31日安排得很好。我在sql server中导入了电子表格,然后使用select*from TimeDim进行查询 结果混乱,日期混乱 有

我将时间维度从excel电子表格导入SQL Server

时间维度开始日期为2005-07-01至2025-12-31(澳大利亚格式) Tha属性由以下部分组成:

时间键日期日期\u名称年份\u名称半年\u名称半年\u名称季度\u名称和所有会计属性

无论如何,当我在excel电子表格中创建这个TimeDim时,它是有序的,从2005年7月1日到2025年12月31日安排得很好。我在sql server中导入了电子表格,然后使用select*from TimeDim进行查询

结果混乱,日期混乱

有没有办法解决这个问题?我愿意截断或删除表格,然后再次导入电子表格,只要它能解决问题

非常感谢


BEU

表存储数据的顺序取决于您定义的
聚集索引

但是,即使为日期列定义聚集索引,仅选择整个表也不能保证数据将按该顺序返回


确保按所需顺序选择数据的唯一方法是在select语句中指定
order by
子句。

表存储数据的顺序取决于您定义的
聚集索引

但是,即使为日期列定义聚集索引,仅选择整个表也不能保证数据将按该顺序返回


确保按所需顺序选择数据的唯一方法是在select语句中指定
order by
子句。

谢谢。你有一个观点,但不是每个用户都知道TimeKey的订单,大多数用户(来自会计、财务部门)只知道TimeDim中的select*。如果我在SQL Server中使用“从excel复制然后粘贴”选项,会怎么样?这行吗?@BeauAlagan-即使这样将表中的所有行按您想要的顺序排列,也没有帮助:1)服务器实际上不需要按该顺序存储,2)您无法控制的因素可能会改变“当前最快”的检索顺序,即,如果其他人首先执行一个导致不同顺序的查询,并且表位于内存中,那么您可能会得到该版本!SQL中获取特定订单的唯一可靠方法是使用
orderby
,period。其他任何事情都是纯粹的偶然。我所做的是添加了一个时间键,我将它设置为主键。将其设置为整数数据类型,然后取消选中空值。现在它的顺序是正确的,即使没有添加ORDERBY语句。如果你认为这样做会有相应的影响,请告诉我。非常感谢。事实上,如果不指定订单,则无法保证订单。它可能会在某些时候,甚至大多数时候,以所需的顺序返回,但不能保证。就是这样,谢谢你。你有一个观点,但不是每个用户都知道TimeKey的订单,大多数用户(来自会计、财务部门)只知道TimeDim中的select*。如果我在SQL Server中使用“从excel复制然后粘贴”选项,会怎么样?这行吗?@BeauAlagan-即使这样将表中的所有行按您想要的顺序排列,也没有帮助:1)服务器实际上不需要按该顺序存储,2)您无法控制的因素可能会改变“当前最快”的检索顺序,即,如果其他人首先执行一个导致不同顺序的查询,并且表位于内存中,那么您可能会得到该版本!SQL中获取特定订单的唯一可靠方法是使用
orderby
,period。其他任何事情都是纯粹的偶然。我所做的是添加了一个时间键,我将它设置为主键。将其设置为整数数据类型,然后取消选中空值。现在它的顺序是正确的,即使没有添加ORDERBY语句。如果你认为这样做会有相应的影响,请告诉我。非常感谢。事实上,如果不指定订单,则无法保证订单。它可能会在某些时候,甚至大多数时候,以所需的顺序返回,但不能保证。事情就是这样。