SQL Server:如何获取当前日期时间的YYYYMMDDHHMISSMSS格式

10
我需要按照格式YYYYMMDDHHMISSMIS获取当前日期时间。

示例:

20110723233747607
通过使用 CURRENT_TIMESTAMPgetdate() 函数,我们可以将当前日期时间检索为 2011-07-23 23:37:47.607 格式。如果我使用 REPLACECONVERT 函数来去除“-”和“:”字符,则可以得到该值以
Jul 23 2011 11:37PM

我需要使用特定的格式来显示当前日期时间,格式为20110723233747607,以便于我的另一个目的。

我的SQL查询语句是:

SELECT REPLACE(CONVERT(VARCHAR(20), CURRENT_TIMESTAMP),'.','')

输出:2011年7月23日晚上11:37

那么我该如何以所需格式获取当前日期时间?请帮忙。


2
你从来没有想过尝试添加REPLACE函数来删除其他你想要删除的字符吗? - OMG Ponies
2个回答

13
select replace(
       replace(
       replace(
       replace(convert(varchar(23), getdate(), 121),
       '-',''),
       '.',''),
       ' ',''),
       ':','')

1
我不知道为什么你需要使用那么多个REPLACE()函数。使用函数确实可以减少执行时间。下面我只用了两个CONVERT和一个REPLACE函数。
SELECT CONVERT(VARCHAR(8), GETDATE(), 112) + REPLACE(CONVERT(VARCHAR(12), GETDATE(), 114),':','')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接