如何在 SQL Server 中将自定义字符串转换为日期

Evg*_*kov 3 sql t-sql sql-server

如何在 SQL Server 2012 中将yyyyMMddhh( 2017092018) 字符串转换为Date

是否可以不使用T-SQL将句子放入子句中INSERT

INSERT INTO [dbo].[Table](SomeColumn) 
VALUES (CONVERT(DATETIME, '2017092018', 'yyyyMMddhh'));
Run Code Online (Sandbox Code Playgroud)

Joh*_*tti 7

例子

Declare @S varchar(50)='2017092018'

Select convert(datetime,left(@S,8)) + convert(datetime,right(@S,2)+':00')
Run Code Online (Sandbox Code Playgroud)

退货

2017-09-20 18:00:00.000
Run Code Online (Sandbox Code Playgroud)

如果是 2012 年以上,我建议 try_convert() 以防万一您有一些意外的值。