中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MYSQL的varchar與數值舉例分析

發布時間:2021-12-04 14:25:11 來源:億速云 閱讀:209 作者:iii 欄目:云計算

本篇內容主要講解“MYSQL的varchar與數值舉例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MYSQL的varchar與數值舉例分析”吧!

事件起源

好了來說具體場景,被同事叫去看一個奇怪的SQL。SQL語句很簡單,大概就是查詢某些字段有一些查詢條件而已。其中比較重要的一個條件就是 「where xx!=0」。說是很奇怪,為什么!=0就查詢到的結果就是10條。但是!=1 查詢出來的結果就是100條。

SELECT A,B,C FROM TABLE WHERE A!=0
res:10 
SELECT A,B,C FROM TABLE WHERE A!=0
res:100
 

下面我們簡單的來幾條數據看一下狀況。

狀況復現

「所有數據」

MYSQL的varchar與數值舉例分析  

「!=0」

MYSQL的varchar與數值舉例分析  

當時就是直接拿到了這樣的結果。 

分析狀況

當時看到這個問題之后我也很驚奇,不等于0 不應該把所有的數據都拿到么。為什么會出現這樣的情況呢?

簡單考慮了一下,字段的類型為 varchar型,而查詢條件給予的是個數值型,那么問題應該就是出現在這里。

數據庫在基于查詢條件進行檢索的時候會如何進行操作呢?
答案就是轉換成相同的類型。

那么對于這次的問題是字段轉換成int類型還是int轉換成varchar類型呢?其實簡單的看查詢結果就知道了。如果查詢條件‘0’轉換成了varchar那么就應該獲取到全部的數據。但是現在的狀況是獲取到的數據不夠。那結論就是數據庫把要查詢的字段轉換成了數值型。
那么我們把app字段進行轉換一下試試。

MYSQL的varchar與數值舉例分析  

從結果上我們可以看到 app 轉換之后的結果只有 0123asfj 轉換成了123,其他都是0。所以在查詢條件為 ‘!=0’ 的時候就只能查詢到一條結果。

到此,相信大家對“MYSQL的varchar與數值舉例分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

额尔古纳市| 湘潭县| 商水县| 东港市| 广汉市| 河南省| 大余县| 绥中县| 凌海市| 乳源| 东安县| 长治县| 无极县| 临武县| 栾城县| 雷州市| 易门县| 沙河市| 凤凰县| 蒙自县| 霍州市| 兴国县| 开封县| 湛江市| 阳谷县| 和平县| 竹溪县| 稻城县| 新津县| 唐河县| 浮梁县| 喀喇沁旗| 鄂托克前旗| 诸城市| 蕲春县| 郎溪县| 积石山| 荥经县| 枣庄市| 保定市| 湘阴县|