實際應用:複選框的資料庫記錄如何查詢,以'1#12#15#2#3#5'儲存形式為例
阿新 • • 發佈:2018-12-25
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
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對應複選框的記錄,就可以用上述方法查詢