几年前,我写了这个方便的指南,今天仍然对我有帮助 - 主要是因为我永远无法记住所有不同风格数字的含义:
SELECT LTRIM(RIGHT(CONVERT(CHAR(20), CURRENT_TIMESTAMP, 22), 11));
在我的时区,这将返回:
9:12:55 AM
这并不是您想要的——您可以使用REPLACE
,或者STUFF
如果删除该空间真的很重要。例如
SELECT REPLACE(LTRIM(RIGHT(CONVERT(CHAR(20), CURRENT_TIMESTAMP, 22), 11)), ' ', '');
在 SQL Server 2012 中,您将能够更轻松地执行此操作 - 您可以使用 C# 的奇偶校验进行格式化:
SELECT FORMAT(CURRENT_TIMESTAMP, 'h:mm:ss tt');
编辑基于以下评论中的新要求和更改要求:
SELECT CONVERT(CHAR(11), CURRENT_TIMESTAMP, 109)
+ ' ' + LTRIM(RIGHT(CONVERT(CHAR(20), CURRENT_TIMESTAMP, 22), 11));
结果:
Sep 26 2012 10:03:52 AM