我正在尝试使用DATE_FORMAT(date,'%y-%m-%d %h:%i:%s %p')
将MySQL函数CONVERT()
移植到等效的MsSQL
如何在SQL SERVER 2012中格式化等效的日期时间字符串以提供此输出'2014-05-24 01:24:37 AM'
?
答案 0 :(得分:21)
在SQL Server 2012及更高版本中,您可以使用FORMAT()
:
SELECT FORMAT(CURRENT_TIMESTAMP, 'yyyy-MM-dd hh:mm:ss tt')
在以前的版本中,您可能需要连接两个或更多不同的日期时间转换以获得所需内容,例如:
SELECT
CONVERT(CHAR(10), CURRENT_TIMESTAMP, 23) + ' ' +
RIGHT('0' + LTRIM(RIGHT(CONVERT(CHAR(20), CURRENT_TIMESTAMP, 22), 11)), 11);
有关所有内置格式样式,请参阅CAST and CONVERT (Transact-SQL)的日期和时间样式部分。
我要记住,除非你有充分的理由,否则我的意思是非常的理由,格式化对于显示数据的技术来说通常更好。