vig*_*esh 26 datetime-format sql-server-2008-r2
如何将datetime价值转换为yyyymmddhhmmss?
例如From 2014-04-17 13:55:12
至 20140417135512
小智 38
从SQL Server Version 2012开始,您可以使用:
SELECT format(getdate(),'yyyyMMddHHmmssffff')
Run Code Online (Sandbox Code Playgroud)
jpw*_*jpw 17
这似乎有效:
declare @d datetime
set @d = '2014-04-17 13:55:12'
select replace(convert(varchar(8), @d, 112)+convert(varchar(8), @d, 114), ':','')
Run Code Online (Sandbox Code Playgroud)
结果:
20140417135512
Run Code Online (Sandbox Code Playgroud)
小智 9
SELECT REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19), CONVERT(DATETIME, getdate(), 112), 126), '-', ''), 'T', ''), ':', '')
Run Code Online (Sandbox Code Playgroud)
FORMAT()比慢CONVERT()。该答案比@jpx的答案略好,因为它仅在日期的时间部分进行替换。
112 = yyyymmdd - no format change needed
108 = hh:mm:ss - remove :
SELECT CONVERT(VARCHAR, GETDATE(), 112) +
REPLACE(CONVERT(VARCHAR, GETDATE(), 108), ':', '')
Run Code Online (Sandbox Code Playgroud)