是否可以使用 SQL 以新格式显示日期,例如 dd-mm-yyyy,然后按转换后的日期排序?
我试过类似的东西:
SELECT CONVERT(varchar(10), [Date Depart], 105) AS [Date Depart]
FROM FLIGHT
ORDER BY CONVERT(varchar(10), [Date Depart], 105) DESC
Run Code Online (Sandbox Code Playgroud)
它不适用于 MS SQL Server。它仍然按 VARCHAR 排序。
按未转换日期排序:
SELECT CONVERT(varchar(10), [Date Depart], 105) AS [Date Departed]
FROM FLIGHT
ORDER BY [Date Depart] DESC
Run Code Online (Sandbox Code Playgroud)
即使您在选择列表中选择转换为不同格式的日期,您仍然可以按实际日期字段进行排序。
还将列命名为 [Date Departed],以便 ORDER BY 子句不会认为我指的是列别名,而不是实际的字段名称。ORDER BY 子句会认为您在引用实际字段名称之前引用列别名(如果适用)。因此,如果您按列排序,而该列的别名恰好与表中的实际字段同名,则它将首先按结果列排序,而不是表上的实际字段。
如果您绝对想使用 [Date Depart] 作为列名,则可以使用它:
SELECT CONVERT(varchar(10), [Date Depart], 105) AS [Date Depart]
FROM FLIGHT
ORDER BY cast([Date Depart] as date) desc
Run Code Online (Sandbox Code Playgroud)
它将结果列转换回日期。
| 归档时间: |
|
| 查看次数: |
10167 次 |
| 最近记录: |