sql-server - T-SQL 选择不同的格式化日期时间,同时仍排序为未格式化的日期时间
问题描述
我正在处理的服务器上只有 SELECT 权限。我正在尝试编写一个查询,其中一列是格式化的日期时间:
--mydb.EventDate is column EventDate(datetime, not null)
SELECT DISTINCT
FORMAT(mydb.EventDate, 'M/d/yyyy h:mm:ss tt') as 'EventDate',
[Other Specified Columns]
FROM
mytsqldb.myschema.mytable AS mydb
ORDER BY
EventDate, [Other Specific Columns]
我还需要按时间顺序按事件日期排序。但是,使用这种格式,它会按字母顺序排序(我认为)。由于 SELECT DISTINCT,我在 ORDER BY 时无法转换 EventDate。但是,我不希望将任何其他列添加到查询的输出中。日期时间的格式有点重要,但如果需要我可以放弃那个幽灵。我正在寻找的可能吗?
解决方案
而不是DISTINCT
使用GROUP BY
:
SELECT
FORMAT(mydb.EventDate, 'M/d/yyyy h:mm:ss tt') as 'EventDate',
[Other Specified Columns]
FROM mytsqldb.myschema.mytable as mydb
GROUP BY mydb.EventDate, FORMAT(mydb.EventDate, 'M/d/yyyy h:mm:ss tt'), [Other Specified Columns]
ORDER BY mydb.EventDate, [Other Specific Columns]
或使用子查询:
SELECT FORMAT(t.EventDate, 'M/d/yyyy h:mm:ss tt') AS EventDate, [Other Specified Columns]
FROM (
SELECT DISTINCT
mydb.EventDate,
[Other Specified Columns]
FROM mytsqldb.myschema.mytable as mydb
) AS t
ORDER BY t.evDate, [Other Specific Columns]
推荐阅读
- javascript - 在 Javascript 函数中使用两个或多个箭头
- perforce - 从 perforce 中删除文件名中具有特殊字符的多个文件
- gradle - 如何对子项目运行多个 gradle 任务
- fortran - 如何使用 MPI-IO 在单个格式化(可读)文件中使用 MPI 进行绘图
- java - com.sun.net.ssl.internal.ssl 包不可见
- css - 使用 css 单位 em 缩放 SVG 图标的不同行为
- owl - 定义一个实例属于某个类
- javascript - 如何阻止我的位置:固定 div 在光滑的滑块中移动?
- java - 为什么 intellij 代码自动完成功能不起作用?
- python - 为什么我的 LPvariable 类型在纸浆中不受尊重?