我正在尝试使用将MySQL函数移植DATE_FORMAT(date,'%y-%m-%d %h:%i:%s %p')
到等效的MsSQL CONVERT()
。
如何在SQL SERVER 2012中格式化等效的datetime字符串以提供此输出'2014-05-24 01:24:37 AM'
?
在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和CONVERT(Transact-SQL)的“日期和时间样式”部分。
我要记住,除非您有充分的理由,否则我要说的是非常好的理由,格式化通常对于显示数据的技术来说是更好的工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句