1. 程式人生 > >實際應用:複選框的資料庫記錄如何查詢,以'1#12#15#2#3#5'儲存形式為例

實際應用:複選框的資料庫記錄如何查詢,以'1#12#15#2#3#5'儲存形式為例

instr()擷取字元位置,只能取單字元 如果想取如12,11....2個數字組成的,要求加#或別的特殊字元,用於資料庫表存入的欄位值以#分割。一般用於實際情況為,複選框的值在資料庫中的存入

select instr('12','1') from dual   結果:1

select instr('21','1') from dual   結果:2

select instr('#12#','#1#') from dual   結果:0

sign( number )  number 要測試標誌的數字.

If number

< 0, then sign returns -1.
If number = 0, then sign returns 0.
If number > 0, then sign returns 1.

實際用例: select * from A where sign(instr('#'||A.ss||'#','#2#'))='1'

資料庫表A裡存有ss欄位,以'1#12#15#2#3#5'形式儲存,需要查詢 值為2的數字的一條記錄。

實際情況:複選框值是 分別對應 1 12 15 2 3 5 的值。存入資料庫的形式是'1#12#15#2#3#5' 現在需要查詢 勾選了 值為2對應複選框的記錄,就可以用上述方法查詢