首页 > 解决方案 > 转换 SQL Server 日期格式

问题描述

我正在使用这个查询:

select convert(nvarchar(MAX), getdate(), 100);

它回来了

Aug 16 2018  3:45PM

我正在尝试获取此日期格式:

16 AUG 15:45

请帮助我实现它。谢谢

标签: sqlsql-serverdateformattingformat

解决方案


这可以让你得到你想要的,并且不使用非常慢的FORMAT功能:

SELECT D, CONVERT(varchar(6),DATEADD(HOUR, -1, D),13) + ' ' + CONVERT(varchar(5),CONVERT(time(0),DATEADD(HOUR, -1, D)),14)
FROM (VALUES(CONVERT(datetime2(0),'2018-08-16T15:45:00'))) V(d);

编辑:似乎 OP再次移动了目标帖子(最初他们希望时间从上午 01:38 更改为 13:38,然后从下午 03:45 更改为 14:45),因此DATEADD不需要。不过,我并没有费心删除它,因为当时它是正确的;而且我不相信球门柱不会再次移动。


推荐阅读