SQL CONVERT未返回最新结果

时间:2017-08-16 08:02:36

标签: sql sql-server

早上好,

我有一个datetime列,当我执行SELECT查询和ORDER BY最新日期时它会在几周前返回结果,这是正确的,但是当我将该datetime转换为VARCHAR和ORDER BY时这个新的CONVERTED专栏,它是去年的日期。

道歉,对于SQL-Server,这是查询:

SELECT TOP (5) [dbo].[UploadLog].[UploadLogID] 
,[dbo].[UploadLog].[ChangedBy]
,CONVERT(VARCHAR(19),[dbo].[UploadLog].[LastChanged]) AS UploadDate
,[dbo].[UploadLog].[CompanyID]
FROM [dbo].[UploadLog]
WHERE [dbo].[UploadLog].[ChangedBy] = '5'
ORDER BY [UploadDate] desc

我不确定为什么会这样,但会感激任何帮助。

非常感谢!

1 个答案:

答案 0 :(得分:1)

我认为您的查询在转换为VARCHAR后包含ORDER BY。这就是为什么你从去年开始的日期。您应首先ORDER BY然后将结果转换为VARCHAR。您可以使用内部查询或其他方式来执行此操作。

顺便说一句,如果您编辑问题并添加查询,我们可以提供更有效的帮助。