两个时间字符串,我怎么计算这两个时间相差多少天? 先转换成正确的日期格式,然后再用datediff()进行计算 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select left('时间1',6,2)-left('时间2',6,2) select datediff(day ,convert(datetime,left(时间1,8)) ,convert(datetime,left(时间2,8)) ) 打错,改为select substring('时间1',6,2)-substring('时间2',6,2) 再改,这次对了select cast(substring('20040809000000',6,2) as int)-substring('20040810000000',6,2)结果:-1 解决了, lsxaa(小李铅笔刀)的是正解to:yjdn(无尽天空)时间怎么能直接转int减呢你算算20040809000000和20040909000000结果是71,显然不对 结果是71?你搞错吧?我用9号-10号当然是-1了我只是举了一个列子,select cast(substring('时间1',6,2) as int)-substring('时间2',6,2)把你的时间代进去 呵呵,抱歉,错了上面只考虑到日,改成这样:select cast(left('20040809000000',8) as int)-left('20040810000000',8) select 相差天数=datediff(day,日期字段1,日期字段2) select 相差天数=datediff(day,cast(left('20040809000000',8) as datetime) ,cast(left('20040810000000',8) as datetime)) 转换成日期类型,然后用datediff()是最有效的方法 smalldatatime是什么意思 求一sql语句!!! 请教一条update的语句 如何用C++ 实现向数据库插入任意数据 请教一个面试中遇到的SQL语句的查询问题 sql 查询某个字段指定位置字符的值 可不可以在SELECT INTO 新表的时候添加一个数值型的列? 如何在SQL2K中进行十六进制的计算,数据类型怎样转换呢? 这个语句该怎么写…… 数值不对 一个小问题 一个新手的问题
,convert(datetime,left(时间1,8))
,convert(datetime,left(时间2,8))
)
select substring('时间1',6,2)-substring('时间2',6,2)
select cast(substring('20040809000000',6,2) as int)-substring('20040810000000',6,2)结果:-1
时间怎么能直接转int减呢
你算算20040809000000和20040909000000
结果是71,显然不对
我用9号-10号当然是-1了我只是举了一个列子,
select cast(substring('时间1',6,2) as int)-substring('时间2',6,2)把你的时间代进去
上面只考虑到日,改成这样:select cast(left('20040809000000',8) as int)-left('20040810000000',8)
,cast(left('20040810000000',8) as datetime))