模糊查詢 注意事項

2021-10-20 18:03:27 字數 679 閱讀 1882

1.動態查詢語句

2.sql中佔位符不能在單引號中,否則,會以?進行查詢資料

『%#%』

3.sql中不能使用加號進行字串拼接,加號是用來做運算的

『%』+『d』+』%』

4.mybatis進行拼串,拼串會出現 sql 注入情況 ,例如:「or 1=1」

『%$%』

5.使用內建方法進行拼串

concat(』%』,#,』%』)

6.查詢條件值本身為%,查詢出所有的資料

concat(』%』,#,』%』) => 『%%%』

『%%%』 使用轉譯字元再進行查詢。

7.#和\是乙個意思,表示轉譯。使用#代替\

select * from t_user where username like 『%#%%』 escape 『#』

select * from t_user where loginacct like 『%@%%』 escape 『@』

select * from t_user where loginacct like concat(』%』,』@%』,』%』) escape 『@』

8.常見的sql文,在oracle中,使用兩個豎線用來表示字串拼接,mysql中沒有這樣的語法。

select * from t_user where username like 『%』|| # ||』%』

ACCESS模糊查詢注意事項

access模糊查詢出現的問題,開發中需要注意 在sql server中模糊查詢通常是這樣的select from articletable where authorname like jacky 但是在access中用這條語句執行的時候竟然發現查不出結果,怎麼可能呢?後來查了下資料,發現問題如下 ...

ibatis查詢bug 注意事項

ibatis判斷使用者名稱已被註冊功能實現 1.注意這裡id 設定為integer 因為當資料庫中沒有這條記錄時候返回null,如果對int型的id 進行判斷,會報錯。integer id integer sqlmapclient.queryforobject user.isusernameexis...

C Linq查詢DataTable注意事項

linq查詢時,涉及datatable,查詢結果可能為null,如果直接轉換為新datatable,則會報錯。例如 try catch exception ex 上述程式執行是會報錯 資料來源中沒有 datarow。由於查詢結果沒有資料,導致copytodatatable 方法報錯。此種情況下,需要...