按日期排序会给出错误的输出。输入的日期是以字符串或Varchar(50)的形式输入和存储的,所以当我对它进行排序时,它只采用了示例“22-11-2016”的第一部分,所以“22”。太澄清:这是我出来就是:按日期排序字符串MSSql
用下面的查询字符串:
SELECT TOP 1 CHECKEDIN, DATE
FROM timereg
WHERE UNILOGIN = @unilogin
ORDER BY DATE DESC, TIME DESC
,并明确列9应该是在上面,因为它后来是一个月。 我将如何将其以某种方式转换为日期时间并对其进行排序,以便它实际上可以正常工作,或仅在整个字符串之后进行排序。
-Thanks
使用正确的数据类型。不要将日期存储在varchar(或类似的)中。 – jarlh
这个字段不是日期类型,sql服务器的日期格式是YYYY-MM-DD – freakydinde
'ORDER BY convert(DATE,DATECOLUMN,105)DESC' –