2022-04-17
閱讀量:
768
敏捷算法班-數(shù)據(jù)庫(kù)-商業(yè)情景應(yīng)用情景8疑問(wèn)與個(gè)人解決方法
題目
Bank公司的貸款風(fēng)險(xiǎn)分析人員希望得到貸款客戶在發(fā)放貸款前一年的交易數(shù)據(jù)。
(經(jīng)同學(xué)啟發(fā)、結(jié)果實(shí)例和老師的解法,我認(rèn)為題目中的‘客戶’應(yīng)該為‘賬號(hào)’,即account。同時(shí),有一張客戶表記錄了客戶信息,如果要針對(duì) ‘客戶’ 查詢結(jié)果則另有解法。)
疑問(wèn)
有些符合要求的記錄被過(guò)濾掉了,初步認(rèn)定為日期計(jì)算有問(wèn)題,不加連接條件的查詢結(jié)果如下,共查詢到190103條記錄:從圖中可以看出,如果對(duì)貸款日期和交易日期不加處理,它們的數(shù)據(jù)類型為date,直接相減會(huì)出現(xiàn)一個(gè)不明含義的數(shù)值,比如,'1994-01-05' 和 '1993-02-26' 相減返回結(jié)果為9879。
測(cè)試
測(cè)試運(yùn)算方式:
可以看出這兩個(gè)日期實(shí)際相差不到一年,添加連接條件后,這些結(jié)果都被過(guò)濾掉了,日期計(jì)算依然不是間隔天數(shù):
解決方案
計(jì)算兩日期的間隔天數(shù)有下面3種方式:
SELECT DATEDIFF('1994-01-05', '1993-02-26');
SELECT TIMESTAMPDIFF(day, '1993-02-26', '1994-01-05'); -- 和DATEDIFF不同之處是要把小日期放在前
SELECT TO_DAYS('1994-01-05') - TO_DAYS('1993-02-26');
所以我的解法是:
參考結(jié)果:






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
1條評(píng)論
0條評(píng)論