91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Mysql中關于0值判斷的坑怎么解決

發布時間:2022-08-30 09:46:25 來源:億速云 閱讀:152 作者:iii 欄目:開發技術

這篇文章主要介紹“Mysql中關于0值判斷的坑怎么解決”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Mysql中關于0值判斷的坑怎么解決”文章能幫助大家解決問題。

    Mysql關于0值判斷的坑

    最近遇到一個Mysql返回多值的問題,最后發現是mysql過濾條件中0值判斷的問題。

    簡練問題如下

    有個INT字段a,默認值為0,程序傳入的判斷條件是 a = 'abacd'。

    傳入的是一個字符串,結果a=0的所有數據都返回了。

    原因

    mysql會在邏輯判斷時,如果是整型判斷,但是傳入的是字符串,如果字符串不是數字,則字符串會被轉換為0。所以,

    這段代碼實際判斷的條件是 a = 0。

    解決方式

    mysql中的邏輯判斷,判斷值的傳入,應該與字段類型一致,整型判斷整型,字符串判斷字符串。如果避免不了,跨類型的判斷,那么就需要根據業務邏輯,進行調整,避免掉入這個坑。

    問題引申

    如果字段a是否varchar類型,值為0,那么判斷時應該用 a='0'判斷,而不是 a = 0 判斷,原因與上面的原因一致,字符串會被轉換為0,結果最終判斷的是 0 = 0。

    Mysql判斷數值0誤區總結

    mysql中判斷數據表字段是否為0,當前數據表字段為int類型時,沒有問題。若為char或者varchar類型時,則需要使用'0',顯而易見,字符串和整型是不能等同的。所以不要 犯這么低級的錯誤。

    以下是從網上搜索到的mysql搜索的原理:

    mysql會把字段的值先轉成整數,然后再對比。

    如果字段的第一位是字符串,那么轉成整數就是0了,

    一般對字符串的搜索都要加上引號。

    關于“Mysql中關于0值判斷的坑怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節

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

    AI

    南召县| 澄迈县| 辽阳市| 苏尼特左旗| 崇信县| 新乐市| 澄江县| 徐汇区| 葫芦岛市| 正蓝旗| 呼图壁县| 崇州市| 上栗县| 沙河市| 平潭县| 文昌市| 泾川县| 手机| 慈溪市| 罗山县| 巫山县| 甘谷县| 娱乐| 朝阳区| 塔河县| 乌拉特前旗| 延长县| 安达市| 西平县| 鄂尔多斯市| 徐闻县| 肥西县| 汾阳市| 广饶县| 双江| 浑源县| 兴化市| 柳州市| 普兰县| 汉源县| 乐平市|