這篇文章給大家分享的是有關(guān)mysql數(shù)據(jù)類型轉(zhuǎn)換的示例的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在瑞安等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,網(wǎng)絡(luò)營銷推廣,外貿(mào)網(wǎng)站建設(shè),瑞安網(wǎng)站建設(shè)費用合理。有一張如下圖所示的表,需要我們查出 result 值大于 reference_high值的數(shù)據(jù)
然后我們寫了下面的SQL查詢語句
SELECT i.result,i.reference_high FROM report_item i LEFT JOIN report r ON r.id=i.report_id WHERE r.org_id=54 AND r.report_status=1 AND r.add_date BETWEEN '2020-12-01' AND '2020-12-28' AND i.reference_high<>'' AND i.result<>'' AND i.result > i.reference_high ;
然后執(zhí)行查看結(jié)果
查詢結(jié)果并不如我們預(yù)期的那樣,存在大量的數(shù)據(jù)不滿足 i.result > i.reference_high 的查詢條件
查看建表SQL語句,我們發(fā)現(xiàn) result 和 reference_high 是varchar類型,并不是數(shù)值類型,所以出現(xiàn)了查詢結(jié)果與預(yù)期不符的情況
方式一:修改表字段數(shù)據(jù)類型為數(shù)值型
但是考慮業(yè)務(wù)使用場景,兩個字段都是有可能會出現(xiàn)非數(shù)值類型的輸入,所以不可行
方式二:修改查詢語句,將數(shù)據(jù)類型轉(zhuǎn)換為數(shù)值型
以 以上數(shù)據(jù)示例
1、隱式轉(zhuǎn)換:將需要比較的字符串加0之后再比較,數(shù)據(jù)被成功過濾
2、顯示轉(zhuǎn)換
(1)使用convert函數(shù):將字符串轉(zhuǎn)換為浮點數(shù),再進行比較,數(shù)據(jù)被成功過濾
(2)使用cast函數(shù):與convert函數(shù)幾乎一樣
感謝各位的閱讀!關(guān)于“mysql數(shù)據(jù)類型轉(zhuǎn)換的示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!