你把这个日期的时间部分去掉,就可以了:select cast(cast(convert(varchar(10),'2014-01-02 12:00:01',120) as datetime) as int) /* 41639 */
哦,是的。 select cast(cast('2014-01-02 12:00:01' as datetime) as float)就的返回结果41639.5000115741。。 多谢了。
--是四舍五入造成的,你对比下这几句话就知道了 select cast(cast('2014-01-02 11:59:59' as datetime) as int) select cast(cast('2014-01-02 12:00:01' as datetime) as int) select cast(cast('2014-01-02 11:59:59' as datetime) as float) select cast(cast('2014-01-02 12:00:01' as datetime) as float)----------- 41639(1 行受影响) ----------- 41640(1 行受影响) ---------------------- 41639.4999884259(1 行受影响) ---------------------- 41639.5000115741(1 行受影响)
/*
41639
*/
select cast(cast('2014-01-02 12:00:01' as datetime) as float)就的返回结果41639.5000115741。。
多谢了。
--是四舍五入造成的,你对比下这几句话就知道了
select cast(cast('2014-01-02 11:59:59' as datetime) as int)
select cast(cast('2014-01-02 12:00:01' as datetime) as int)
select cast(cast('2014-01-02 11:59:59' as datetime) as float)
select cast(cast('2014-01-02 12:00:01' as datetime) as float)-----------
41639(1 行受影响)
-----------
41640(1 行受影响)
----------------------
41639.4999884259(1 行受影响)
----------------------
41639.5000115741(1 行受影响)