这条T-SQL语句:select cast((getdate()-cast('2007-12-1' as datetime))as int)如何理解?我知道是转换函数,就是不能理解(getdate()-cast('2007-12-1' as datetime)这一部分。
2 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
把这个作为两部分
cast('2007-12-1' as datetime) 这个是将'2007-12-1'转换成datetime类型 ,把它标记为时间date2
把getdate()标记为为时间date1
cast((getdate()-cast('2007-12-1' as datetime))as int)
相当于cast((date1-date2) as int) 意思就是将date1-date2的结果转换成int型
明月笑刀无情
TA贡献1828条经验 获得超4个赞
两个时间相减,得到一个相对于1900年时间差的值。
比如select (getdate()-cast('2007-12-1' as datetime)) 得到 1907-05-11 16:03:28.300 也就说,两个时间相差是7年5个月11天 16小时.....这样的。
添加回答
举报
0/150
提交
取消