我需要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
答案 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)
使用SUBSTRING
和CHARINDEX
获取字符串的左侧部分,不包括毫秒部分。然后将最后一个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