MySQL存儲(chǔ)過(guò)程中sql語(yǔ)句條件的in無(wú)效問(wèn)題及解決
MySQL存儲(chǔ)過(guò)程中sql語(yǔ)句條件的in無(wú)效
存儲(chǔ)過(guò)程中,sql語(yǔ)句條件的 in 無(wú)效,必須用mysql的函數(shù)或者自己寫一個(gè)函數(shù)處理組裝條件。
正常寫法
select * from table t where t.a in (1,2,3,4);
當(dāng)在寫存儲(chǔ)過(guò)程in里面的列表用個(gè)傳入?yún)?shù)代入的時(shí)候,就需要用到如下方式:
主要用到find_in_set函數(shù)
select * from table t where find_in_set(t.a,'1,2,3,4');
SQL中IN和NOT IN的用法注意事項(xiàng)
(1)在使用IN 和 NOT IN 時(shí)要注意 IN范圍中有NULL和空值的情況
(2)盡量不要用IN和NOT IN的方式而是轉(zhuǎn)換為L(zhǎng)EFT JOIN的形式
(3)在where語(yǔ)句中考慮NULL的同時(shí)要考慮空字符串的情況
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL存儲(chǔ)引擎MyISAM與InnoDB的9點(diǎn)區(qū)別
這篇文章主要介紹了MySQL存儲(chǔ)引擎MyISAM與InnoDB的9點(diǎn)區(qū)別,寫給有選擇困難癥的同學(xué),需要的朋友可以參考下2014-08-08美團(tuán)DB數(shù)據(jù)同步到數(shù)據(jù)倉(cāng)庫(kù)的架構(gòu)與實(shí)踐
今天小編就為大家分享一篇關(guān)于美團(tuán)DB數(shù)據(jù)同步到數(shù)據(jù)倉(cāng)庫(kù)的架構(gòu)與實(shí)踐,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02springboot啟動(dòng)404問(wèn)題以及解決方案
這篇文章主要介紹了springboot啟動(dòng)404問(wèn)題以及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01MySQL連接時(shí)出現(xiàn)2003錯(cuò)誤的實(shí)現(xiàn)
本文主要介紹了MySQL連接時(shí)出現(xiàn)2003錯(cuò)誤的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05MySQL服務(wù)無(wú)法啟動(dòng)的解決辦法(親測(cè)有效)
用管理員身份打開cmd試圖啟動(dòng)MySQL時(shí)出現(xiàn)服務(wù)無(wú)法啟動(dòng)并提示服務(wù)沒有報(bào)錯(cuò)任何錯(cuò)誤,所以本文小編給大家介紹了一個(gè)親測(cè)有效的解決辦法,需要的朋友可以參考下2023-12-12