慕斯王
2021-06-23 18:15:17
這條T-SQL語(yǔ)句:select cast((getdate()-cast('2007-12-1' as datetime))as int)如何理解?我知道是轉(zhuǎn)換函數(shù),就是不能理解(getdate()-cast('2007-12-1' as datetime)這一部分。
2 回答

守著一只汪
TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
把這個(gè)作為兩部分
cast('2007-12-1' as datetime) 這個(gè)是將'2007-12-1'轉(zhuǎn)換成datetime類型 ,把它標(biāo)記為時(shí)間date2
把getdate()標(biāo)記為為時(shí)間date1
cast((getdate()-cast('2007-12-1' as datetime))as int)
相當(dāng)于cast((date1-date2) as int) 意思就是將date1-date2的結(jié)果轉(zhuǎn)換成int型

明月笑刀無(wú)情
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
兩個(gè)時(shí)間相減,得到一個(gè)相對(duì)于1900年時(shí)間差的值。
比如select (getdate()-cast('2007-12-1' as datetime)) 得到 1907-05-11 16:03:28.300 也就說(shuō),兩個(gè)時(shí)間相差是7年5個(gè)月11天 16小時(shí).....這樣的。
添加回答
舉報(bào)
0/150
提交
取消