首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

将日期直接转化为数字返回的结果是如何计算来的呢

2013-12-04 
将日期直接转化为数字返回的结果是怎么计算来的呢?比如select cast(getdate() as int),返回数字41610,朋友

将日期直接转化为数字返回的结果是怎么计算来的呢?
比如select cast(getdate() as int),返回数字41610,朋友说是返回从1900-1-1到当前时间的天数。
但下如的两个sql:
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)

返回的结果不一样,一个是41639, 一个是41640。为什么是在12点的时候+1呢?请问这个与什么设置有关。

[解决办法]
这个应该是四舍五入 造成的,

select cast(cast('2014-01-02 12:00:01' as datetime) as int)

就相当于 41639.5天,所以最后进了1位把

热点排行