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_Sql Server_Datetime - Fatal编程技术网

Sql server 自定义Varchar格式到datetime

Sql server 自定义Varchar格式到datetime,sql-server,datetime,Sql Server,Datetime,我在数据库中有日期和时间的数据,如20170608_1345。我想 以“2017-06-08 13:45”的格式获取 请告知我们是否有此转换格式。使用stuff()将下划线替换为空格,并插入时间分号: create table t (str varchar(32)); insert into t values ('20170608_1345'); select convert(datetime,stuff(stuff(str,12,0,':'),9,1,' ')) from t 返回2017

我在数据库中有日期和时间的数据,如20170608_1345。我想 以“2017-06-08 13:45”的格式获取

请告知我们是否有此转换格式。

使用
stuff()
将下划线替换为空格,并插入时间分号:

create table t (str varchar(32));
insert into t values ('20170608_1345');

select convert(datetime,stuff(stuff(str,12,0,':'),9,1,' '))
from t

返回
2017-06-08 13:45:00

请添加SQL Server的版本最简单的方法是使用一堆
子字符串
并将它们连接起来,如果这是常量格式