当前位置: 代码迷 >> Sql Server >> char(14) 字符串 转换为 时间类型 ?该如何解决
  详细解决方案

char(14) 字符串 转换为 时间类型 ?该如何解决

热度:634   发布时间:2016-04-27 11:12:21.0
char(14) 字符串 转换为 时间类型 ??????
sql server2000 

如 例 char(14) [email protected] ='20120907112032' --代表2012年9月7号11点20分32秒
想把 这个变量插入 数据库一字段 该字段类型为 datetime 该类型例子【2012-09-07 11:20:30.000】
 
 

求 转换 方法???

------解决方案--------------------
SQL code
DECLARE @a varchar(14) ='20120907112032'SELECT CONVERT(datetime,SUBSTRING(@a,1,4)+'-'+SUBSTRING(@a,5,2)+'-'+SUBSTRING(@a,7,2)+' '+SUBSTRING(@a,9,2)+':'+SUBSTRING(@a,11,2)+':'+SUBSTRING(@a,13,2))
------解决方案--------------------
SQL code
declare @a char(14)declare @aa varchar(25)set @a='20120907112032'set @aa=left(@a,4)+'-'+right(left(@a,6),2)+'-'+right(left(@a,8),2)+' '+right(left(@a,10),2)+':'+right(left(@a,12),2)+':'+right(@a,2)+'.000'select cast(@aa as datetime) as '时间'/*-->测试结果时间                          --------------------------- 2012-09-07 11:20:32.000*/
------解决方案--------------------
SQL code
DECLARE @a varchar(14) ='20120907112032'SELECT CONVERT(datetime,SUBSTRING(@a,1,4)+'-'+SUBSTRING(@a,5,2)+'-'+SUBSTRING(@a,7,2)+' '+SUBSTRING(@a,9,2)+':'+SUBSTRING(@a,11,2)+':'+SUBSTRING(@a,13,2))------------------------------/*无列名2012-09-07 11:20:32.000*/
------解决方案--------------------
SQL code
declare @a char(14)set @a='20120907112032'select convert(varchar(10),convert(datetime,left(@a,8)),120)    +' '+SUBSTRING(@a,9,2)+':'+SUBSTRING(@a,11,2)+':'+SUBSTRING(@a,13,2)/*2012-09-07 11:20:32*/
------解决方案--------------------
探讨
SQL code

declare @a char(14)
set @a='20120907112032'
select convert(varchar(10),convert(datetime,left(@a,8)),120)
+' '+SUBSTRING(@a,9,2)+':'+SUBSTRING(@a,11,2)+':'+SUBSTRING(@a,13,2)
/*
20……

------解决方案--------------------
尝试了函数直接转换,没成功。
------解决方案--------------------
探讨

尝试了函数直接转换,没成功。
  相关解决方案