【发布时间】:2015-09-01 00:29:43
【问题描述】:
我有一组数据,格式如下:
LocalDate LocalTime SourceID UtcTimestamp
04/30/2013 09:05:10 sourceID1 2013-04-29 23:05:00.707
04/30/2013 09:34:10 sourceID2 2013-04-29 23:34:00.707
04/30/2013 09:10:56 sourceID3 2013-04-29 23:10:00.067
01/17/2014 10:41:31 sourceID4 2014-01-17 00:41:31.147
我需要对以上数据进行降序排序。我的第一次尝试是对LocatDate 和LocalTime 排序。但是,“LocalDate”和“LocalTime”的数据类型是 varchar。然后我尝试了以下操作,因为 UtcTimestamp 数据类型是日期时间:
SELECT TOP 10000 ManagementRecords.LocalDate, ManagementRecords.LocalTime, ManagementRecords.SourceSUID, ManagementRecords.UtcTimestamp
FROM DB.dbo.ManagementRecords ManagementRecords
ORDER BY ManagementRecords.UtcTimestamp DESC
但是上述方法不起作用。 “执行查询”过程从不返回任何内容。为什么? 我真的很感激这方面的一些帮助。
【问题讨论】:
-
您发布的查询不是您实际使用的查询,因为它有一个拼写错误会阻止它执行(具体来说,您在
SELECT和 @ 中都使用了别名table987654325@,但您的FROM子句指定别名tables(复数)。如果您希望我们帮助解决您的 SQL 语句问题,请复制并粘贴 实际 SQL 语句,而不是您的即时弥补或手动输入(您可以在其中引入拼写错误或不正确的语法)。 -
谢谢,我现在就编辑它。感谢您指出这一点。
-
当我摆脱“ORDER BY”语句时,我得到了查询的结果,但是当我添加“ORDER BY”时,我什么也得不到。
-
如果你等待足够长的时间,你会得到一些东西。问题不在于你什么也得不到。问题是它表现不佳。另一个问题是您将日期存储在 varchar 字段中。
-
我认为你是对的,这是由于 ORDER 查询的性能不佳。
标签: sql-server sql-server-2008 datetime