SQL語句中關於in中是變量的一則應用

如果一個SQL語句中

select a,b,c from table_name where a in(2,3,4,5) ;

如果a是數值型,且2,3,4,5是變化的時候,可以用兩種方法來解決這個問題:

第一種方法:如果2,3,4,5是固定的個數,比如有四個,可以定義四個變量,如果當其中只有兩個變量的話,則把其餘的兩個變量設置爲可能存在的值。

第二種方法:可以直接定義個字串,把2 3 4 5 賦值給它,比如說 str='2,3,4,5' 或者 str='2,3,5',然後在SQL語句中直接 in(:str)就可以了。系統會默認的把str當成三個數值或者四個數值來處理。

第三種方法:可以用instr來實現,instr('2,3,4,5',to_char(a))>0 其中 '2,3,4,5'同樣是一個字符串變量。如string str str='2,3,4,5'。 即 instr(:str,to_char(a)).

OK!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章