格式化日期时间值

时间:2012-07-03 16:44:58

标签: sql-server sql-server-2008 tsql

我正在使用此检索日期和时间:

SELECT convert(varchar, getdate())

它显示输出为:

Jul  3 2012  9:34PM

但是客户希望时间和上午/下午之间应该有空格,意味着输出应该是这样的:

Jul  3 2012  9:34 PM

提前致谢。

1 个答案:

答案 0 :(得分:3)

首先,don't use varchar without length。你可以在这里使用STUFF,例如

SELECT STUFF(CONVERT(VARCHAR(19), GETDATE()), 18, 0, ' ');

结果:

Jul  3 2012 12:48 PM

请注意,根据语言和区域设置,这可能会有所不同。

在SQL Server 2012中,这更直观一些,但是当白天和白天之间的额外空间<1。 10很难解决(或者我对.NET的format缺乏理解):

SELECT FORMAT(GETDATE(), 'MMM d yyyy hh:mm tt');