当前位置: 代码迷 >> Sql Server >> SQL2005 varchar时间类型 如何相减 得到分钟数
  详细解决方案

SQL2005 varchar时间类型 如何相减 得到分钟数

热度:39   发布时间:2016-04-24 19:56:07.0
SQL2005 varchar时间类型 怎么相减 得到分钟数。
有一个表,有两列 varchar类型的时间,长度是varchar(12)。这两列 怎么相减得到分钟数。

sql 有什么可以把字符类型时间 装为 datetime类型的语句嘛。
sql 类型转换

------解决方案--------------------

declare @x1 varchar(12),@x2 varchar(12)

select @x1='201310101232',@x2='201310101331'

select datediff(mi,
cast(left(@x1,4)+'-'+substring(@x1,5,2)+'-'+substring(@x1,7,2)+' '+substring(@x1,9,2)+':'+substring(@x1,11,2)+':00' as datetime),
cast(left(@x2,4)+'-'+substring(@x2,5,2)+'-'+substring(@x2,7,2)+' '+substring(@x2,9,2)+':'+substring(@x2,11,2)+':00' as datetime)) '分钟数'

/*
分钟数
-----------
59

(1 row(s) affected)
*/
  相关解决方案