字符串變量作mysql查詢條件


原文:http://blog.csdn.net/qing_gee/article/details/41646503

 

當你的查詢條件是一個字符串變量時,你該怎么辦,比如字符串可能是“0001ME,0002BL”,也可能是“0001ME”,那么如何根據條件得到想要的結果呢,我來告訴你instr方法的厲害之處。

 

1.開始的時候一直在將字符串str轉換為in函數的參數,如下

SELECT * FROM stocks_orderlist s where s.scode in ("0001ME","0002BL") LIMIT 10;

SELECT CONVERT(CONCAT("\'",REPLACE("0001ME,0002BL","\,","\'\,\'"),"\'"),CHAR);

SELECT * FROM stocks_orderlist s where s.scode in (CONVERT(CONCAT("\"",REPLACE("0001ME,0002BL","\,","\"\,\""),"\""),CHAR)) LIMIT 10;

雖然把str轉成了in所要的東西,但是后來想想,in的參數是一個列表集合,我及時把str轉換成了所謂的in參數的形式,但是肯定還是一個字符串,於是又忙碌了半天,有點想放棄的感覺,但是回頭想想,肯定是自己沒有找到合適的辦法,於是就找到了instr函數

 

2.instr函數,看幫助文檔的意思是找出substr在str中第一次出現問題,嘗試如下

SELECT INSTR("0001ME,0002BL","0003ME");
SELECT INSTR("0001ME,0002BL","0001ME");
SELECT INSTR("0001ME,0002BL","0002BL");
SELECT * FROM stocks_orderlist s where INSTR("0001ME,0002BL",s.scode);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM