mysql 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)
一、問題
有一張如下圖所示的表,需要我們查出 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ù)使用場景,兩個(gè)字段都是有可能會(huì)出現(xiàn)非數(shù)值類型的輸入,所以不可行
方式二:修改查詢語句,將數(shù)據(jù)類型轉(zhuǎn)換為數(shù)值型

以 以上數(shù)據(jù)示例
1、隱式轉(zhuǎn)換:將需要比較的字符串加0之后再比較,數(shù)據(jù)被成功過濾

2、顯示轉(zhuǎn)換
(1)使用convert函數(shù):將字符串轉(zhuǎn)換為浮點(diǎn)數(shù),再進(jìn)行比較,數(shù)據(jù)被成功過濾

(2)使用cast函數(shù):與convert函數(shù)幾乎一樣

到此這篇關(guān)于mysql 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mysql 數(shù)據(jù)類型轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL5綠色版windows下安裝總結(jié)(推薦)
這篇文章主要介紹了MySQL5綠色版windows下安裝總結(jié),需要的朋友可以參考下2017-03-03
關(guān)于MySQL自增ID的一些小問題總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于MySQL自增ID的一些小問題,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
MySQL觸發(fā)器的使用和inserted和deleted表介紹
這篇文章主要介紹了MySQL觸發(fā)器的使用和inserted和deleted表,觸發(fā)器,就是一種特殊的存儲(chǔ)過程,觸發(fā)器和存儲(chǔ)過程一樣是一個(gè)能夠完成特定功能和存儲(chǔ)在數(shù)據(jù)庫服務(wù)器上的SQL片段,感興趣想要詳細(xì)了解可以參考下文2023-05-05
解析SQL語句中Replace INTO與INSERT INTO的不同之處
本篇文章是對SQL語句中Replace INTO與INSERT INTO的不同之處進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
mysql指定某行或者某列的排序?qū)崿F(xiàn)方法
這篇文章主要介紹了mysql指定某行或者某列的排序,需要的朋友可以參考下2017-05-05
Mysql LONGTEXT 類型存儲(chǔ)大文件(二進(jìn)制也可以) (修改+調(diào)試+整理)
MySql2.cpp : Defines the entry point for the console application.2009-07-07
MySQL?移動(dòng)數(shù)據(jù)目錄后啟動(dòng)失敗問題解決
由于安裝數(shù)據(jù)庫時(shí)將MySQL的數(shù)據(jù)目錄放在了根目錄下,現(xiàn)在存儲(chǔ)空間不足,遇到這個(gè)問題如何解決呢,下面小編給大家?guī)砹薽ysql移動(dòng)數(shù)據(jù)目錄啟動(dòng)失敗解決方法,感興趣的朋友一起看看吧2023-04-04
開源MySQL高效數(shù)據(jù)倉庫解決方案:Infobright詳細(xì)介紹
這篇文章主要介紹了開源MySQL高效數(shù)據(jù)倉庫解決方案:Infobright詳細(xì)介紹,本文講解了Infobright特征、Infobright的價(jià)值、Infobright的適用場景、與MySQL對比等內(nèi)容,需要的朋友可以參考下2015-03-03

