排序日期时间varchar

时间:2019-07-03 12:34:38

标签: sql sql-server tsql sql-server-2008

我正在寻求帮助。我有一个日期字段为datetime YYYY / MM / DD HH:MM:SS,我需要将其设置为DD / MM / YYYY HH:MM:SS。然后我使用了convert(varchar)但不能按desc排序,显示如下:

31/01/2019 17:00:00:000
31/01/2019 17:00:00:000
18/01/2019 13:30:00:000
18/01/2019 13:30:00:000
07/02/2019 03:00:00:000
07/02/2019 03:00:00:000
14/02/2019 12:00:00:000

CONVERT(VARCHAR(10),ISNULL(tbl_date1,tbl_date2),103) + ' ' + CONVERT(VARCHAR(20),ISNULL(tbl_date1,tbl_date2),14)

我不知道如何在sql中执行此操作。我已经厌倦了转换,并且转换了,并且我得到了相同的结果。

我一直在搜索,并尝试不同的方法,只是没有得到结果。任何帮助都会非常感激,谢谢!

1 个答案:

答案 0 :(得分:1)

尝试一下:

SELECT *
     ,CONVERT(VARCHAR(10),ISNULL(tbl_date1,tbl_date2),103) + ' ' + CONVERT(VARCHAR(20),ISNULL(tbl_date1,tbl_date2),14)
FROM ...
ORDER BY ISNULL(tbl_date1,tbl_date2) DESC