我有一个datetime
列,日期显示为“11/13/2012 1:48:27 PM”我需要将其转换为“11/13/12”。
我知道我可以使用
转换它convert(varchar(10), datevalue, 1)
但是当我在转换后对列进行排序时,它不按日期排序。我不确定convert(datetime, datevalue, 1)
是否应该做任何事情,但没有事情发生,我仍然有默认的日期值。
我试过这个
select convert(varchar(10), datevalue, 1)
from table
order by convert(datetime, datevalue, 1) desc
它可以工作,但我的更大的查询选择不同,我收到错误
如果指定了SELECT DISTINCT,则ORDER BY项必须出现在选择列表中
答案 0 :(得分:0)
尝试类似:
SELECT CONVERT(varchar(10), datevalue, 1)
FROM table
ORDER BY datevalue desc
答案 1 :(得分:0)
试试这个:
SELECT CONVERT(DATETIME, datevalue, 103)
FROM table
ORDER BY CONVERT(DATETIME, datevalue, 103)
答案 2 :(得分:0)
select convert(varchar(10), datevalue, 1)
from table
order by datevalue desc
您不需要在order by
声明中转换日期。只有列名称的数据类型为' datetime'