求解释,请问如何理解转换函数cast这条T-SQL语句?有点不明白

这条T-SQL语句:select cast((getdate()-cast('2007-12-1' as datetime))as int)如何理解?我知道是转换函数,就是不能理解(getdate()-cast('2007-12-1' as datetime)这一部分。

慕斯王
浏览 364回答 2
2回答

守着一只汪

把这个作为两部分cast('2007-12-1' as datetime) 这个是将'2007-12-1'转换成datetime类型 ,把它标记为时间date2把getdate()标记为为时间date1cast((getdate()-cast('2007-12-1' as datetime))as int)相当于cast((date1-date2) as int) 意思就是将date1-date2的结果转换成int型

明月笑刀无情

两个时间相减,得到一个相对于1900年时间差的值。比如select (getdate()-cast('2007-12-1' as datetime)) 得到 1907-05-11 16:03:28.300 也就说,两个时间相差是7年5个月11天 16小时.....这样的。
打开App,查看更多内容
随时随地看视频慕课网APP