我需要SQL服务器查询将日期转换为Mon DD,YYYY HH:MM:SS AM / PM

时间:2016-11-21 07:17:52

标签: sql-server date datetime

我需要SQL服务器查询才能将日期转换为Mon DD, YYYY HH:MM:SS AM/PM

例如日期是: - 2016-11-21 16:58:57.797

我需要SQL输出 Nov 21 2016 4:58:57 PM

我试过了 - > CONVERT(VARCHAR(19),GETDATE(),109)
但它显示的结果如 - > Nov 21 2016 4:58:5

4 个答案:

答案 0 :(得分:1)

在语句中增加VARCHAR的长度,如下所示

select CONVERT(VARCHAR(30),GETDATE(),109)

这给我的结果为Nov 21 2016 12:55:31:390PM

希望这对你有用。

答案 1 :(得分:0)

对于mysql,你可以这样做:

SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p');

对于ms sql,您可以这样做:

SELECT CONVERT(VARCHAR(19),GETDATE())

参考:

答案 2 :(得分:0)

使用SUBSTRINGCHARINDEX获取字符串的左侧部分,不包括毫秒部分。然后将最后一个AM / PM连接到那个。

<强>查询

declare @date as varchar(30) = convert(varchar(30),getdate(),109);
select substring(@date, 1, len(@date) - charindex(':', reverse(@date), 1)) 
       + ' ' + right(@date, 2) as [datetime];

答案 3 :(得分:0)

你可以用这个

select FORMAT(CAST(GETDATE() AS DATETIME),'MMM dd yyyy hh:mm:ss tt') AS DateTimeAMPM