在 SQL 服务器中将特定日期时间字符串格式化为日期时间数据类型

Format specific datetime string to datetime datatype in SQL Server

我有一个代表日期时间特定格式的字符串。 格式:yyyymmddhhmmss 例如:20220504111621

我希望它转换为 SQL 服务器日期时间数据类型:yyyy-mm-dd hh:mm:ss(格式 120)

有办法吗? 我试过类似的东西:

select [SYNC_TIME] 
replace(convert(varchar, [SYNC_TIME],101),'/','') + replace(convert(varchar, [SYNC_TIME],108),':','')
FROM [DB].[dbo].[DATABASENAME]

很多方法,你可以使用stuff格式化字符串并转换:

declare @string varchar(15)='20220504111621'
select Convert(datetime,Stuff(Stuff(Stuff(@string,9,0,' '),12,0,':'),15,0,':'),112)