早上好,
我有一个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
我不确定为什么会这样,但会感激任何帮助。
非常感谢!
答案 0 :(得分:1)
我认为您的查询在转换为VARCHAR后包含ORDER BY。这就是为什么你从去年开始的日期。您应首先ORDER BY然后将结果转换为VARCHAR。您可以使用内部查询或其他方式来执行此操作。
顺便说一句,如果您编辑问题并添加查询,我们可以提供更有效的帮助。