首页 > 解决方案 > 排序日期时间 varchar

问题描述

我正在寻求帮助。我有一个日期字段作为日期时间 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 中执行此操作。我已经厌倦了演员和转换,我一直得到相同的结果。

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

标签: sqlsql-servertsqlsql-server-2008

解决方案


试试这个:

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

推荐阅读