转换SQL Server日期格式

时间:2018-08-16 10:55:44

标签: sql sql-server

我正在使用此查询:

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

正在返回

Aug 16 2018  3:45PM

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

16 AUG 15:45

请帮助我实现它。谢谢

5 个答案:

答案 0 :(得分:2)

尝试一下:使用格式化功能

SELECT upper(FORMAT( getdate(), 'dd MMM HH:mm', 'en-US')) 

答案 1 :(得分:2)

这可以为您提供所需的内容,而无需使用速度极慢的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 AM更改为13:38,然后从03:45 PM更改为14:45 ),因此不需要DATEADD。我没有费心删除它,因为当时它是正确的。我不相信目标帖子不会再移动。

答案 2 :(得分:1)

使用upper和'dd MMM HH:mm', 'en-US'格式

SELECT Upper( FORMAT( getdate(), 'dd MMM HH:mm', 'en-US' ))

it reutrns 16 AUG 11:03

答案 3 :(得分:1)

尝试

大写字母“ Aug”至“ AUG”

SELECT UPPER( FORMAT( GETUTCDATE(), 'dd MMM HH:mm', 'en-US' ) )

答案 4 :(得分:1)

尝试一下

查询:

select UPPER(FOrmat(GETDATE(),'dd MMM HH:mm'))

结果: 8月16日17:04

enter image description here

相关问题