且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在T-SQL中将DateTime转换为yyyyMMddHHmm

更新时间:2023-01-30 13:09:53

这是YYYYMMDDHHMMSS

  SELECT CONVERT(VARCHAR(8),GETDATE(),112)+ REPLACE(CONVERT(varchar,GETDATE (),108),':','')

对于YYYYMMDDHHMM

  SELECT CONVERT(VARCHAR(8),GETDATE(),112)+ LEFT(REPLACE(CONVERT(varchar,GETDATE(),108),' ',''),4)

  SELECT CONVERT(VARCHAR(8),GETDATE(),112)+ REPLACE(LEFT(CAST(GETDATE()AS TIME),5),':',' 


Is something like the below my only option? I was hoping there was a better, cleaner, way to accomplish this.

This being, my dates need to end up formatted like so --> 201301080105 for 1:05 AM on 1/8/13.

SELECT SUBSTRING(REPLACE(CONVERT(varchar, GETDATE(), 111), '/','') + REPLACE(CONVERT(varchar, GETDATE(), 108), ':',''),0,13) AS 'My Formatted Date'

This is YYYYMMDDHHMMSS

SELECT CONVERT(VARCHAR(8), GETDATE(), 112) + REPLACE(CONVERT(varchar, GETDATE(), 108), ':','')

For YYYYMMDDHHMM

SELECT CONVERT(VARCHAR(8), GETDATE(), 112) + LEFT(REPLACE(CONVERT(varchar, GETDATE(), 108), ':',''),4)

OR

SELECT CONVERT(VARCHAR(8), GETDATE(), 112) + REPLACE(LEFT(CAST(GETDATE() AS TIME), 5), ':', '')