Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将不带破折号和冒号的varchar datetime转换为带破折号和冒号的varchar datetime_Sql Server - Fatal编程技术网

Sql server 将不带破折号和冒号的varchar datetime转换为带破折号和冒号的varchar datetime

Sql server 将不带破折号和冒号的varchar datetime转换为带破折号和冒号的varchar datetime,sql-server,Sql Server,我想把这个20201001163318varchar日期和时间转换成类似这样的2020-10-01 16:33:18 我试过这个 select convert(varchar, getdate(), 25) 但是它不起作用可能是stuff()与try\u convert() 示例 declare @S varchar(50) = '20201001163318' Select try_convert(varchar(19),try_convert(datetime,stuff(stuff(

我想把这个
20201001163318
varchar
日期和时间转换成类似这样的
2020-10-01 16:33:18

我试过这个

select convert(varchar, getdate(), 25) 
但是它不起作用

可能是
stuff()
try\u convert()

示例

declare @S varchar(50) = '20201001163318'

Select try_convert(varchar(19),try_convert(datetime,stuff(stuff(stuff(@S,13,0,':'),11,0,':'),9,0,' ')),120)
返回

(No column name)
2020-10-01 16:33:18
另外,如果要将getdate()转换为字符串,可以尝试:

Select convert(varchar(19),getdate(),120)
convert(varchar,getdate(),25)
将从
getdate()
返回的值(这是
datetime
,不是
varchar
)转换为
varchar
格式的样式代码25,即
yyyy-mm-dd hh:mi:ss.mmm
。希望这不是数据库中的一列;如果是,我强烈建议您修改设计,不要将日期存储在
varchar
中。如果该值来自应用程序,我建议重新评估代码,并确保传递的是日期和时间数据类型,而不是
varchar