字段1和字段2都是字符串类型,现在要求时间差如下
字段1 字段2
08:07:11 09:14:18
.............. ..............
求时间差我是这么做的SELECT [字段1]
,[字段2]
,datediff(minute,cast(字段1 as datetime),cast(字段2 as datetime) ) as 时差
FROM [表名]
但是执行时出现了这种情况
Arithmetic overflow error converting expression to data type datetime.,请问应该怎么做
字段1 字段2
08:07:11 09:14:18
.............. ..............
求时间差我是这么做的SELECT [字段1]
,[字段2]
,datediff(minute,cast(字段1 as datetime),cast(字段2 as datetime) ) as 时差
FROM [表名]
但是执行时出现了这种情况
Arithmetic overflow error converting expression to data type datetime.,请问应该怎么做
SELECT DATEDIFF(minute,cast('08:07:11' as datetime),cast('09:14:18' as datetime)) AS 时差可以执行过去,是这样算时差的!LZ看下,数据里面是否有特殊字符, 比如中文标点,可以用replate替换下!
问题是你建表时的字段值类型为date,而这里你要把它转换成datetime类型,这样不行呀
你把你的字段值类型改为datetime试试
或者用下面的语句试试
select DATEDIFF(MINUTE,字段1,字段2)
from [表名]
字段1 字段2
08:07:11 09:14:18如果一楼可以执行,看起来你的冒号应该是中文输入法输入的冒号,可以replace下