我想将20170426140000转换为2017-04-26 14:00:00
答案 0 :(得分:1)
您可以通过Substring
&的帮助获得上述结果Stuff
功能如下: -
DECLARE @DATA VARCHAR(MAX);
SET @DATA = '20170426140000';
SELECT CONVERT(DATETIME, SUBSTRING(@DATA, 1, 4)+'-'+SUBSTRING(@DATA, 5, 2)+'-'+SUBSTRING(@DATA, 7, 2)+' '+STUFF(STUFF(SUBSTRING(@DATA, 9, LEN(@data)), 3, 0, ':'), 6, 0, ':'));
结果:
2017-04-26 14:00:00.000
注意:以上内容适用于SQL Server
答案 1 :(得分:0)
在SQL Server中
DECLARE @InputText varchar(15)='20170426140000',@DateValue varchar(8),@FormattedDate varchar(50)
SET @DateValue=LEFT(@InputText,8)
SELECT @FormattedDate =
convert(varchar(10), convert(datetime, @DateValue), 21)
+ ' ' + substring(@InputText, 9, 2)
+ ':' + substring(@InputText, 11, 2)
+ ':' + substring(@InputText, 13, 2)
SELECT @InputText AS Input,@FormattedDate AS FormattedDate
输出:
答案 2 :(得分:0)
以下内容应该有效(SQL-Server 2012 +):
DECLARE @strDateTime varchar(14) = '20170426140000'
SELECT CONVERT(datetime,
FORMAT(CONVERT(bigint, @strDateTime),
'####-##-## ##:##:##'),
120)
如果您只想输出字符串而不转换为datetime:
DECLARE @strDateTime varchar(14) = '20170426140000'
SELECT FORMAT(CONVERT(bigint, @strDateTime),
'####-##-## ##:##:##')
答案 3 :(得分:0)
您可以将其转换为以下声明。
SELECT FORMAT(20170426140000,'0000-00-00 00:00:00')