sql語句拼裝,需要if判斷時乙個小技巧

2021-07-31 08:12:59 字數 608 閱讀 3026

問題:我們在很多時候需要根據條件動態拼裝sql語句,如下**,我們需要查詢對應年齡、性別的user

string sql = "";

sql = "select * from table where ";

if(***!=null && ***!="")

sql += "*** = '"+***+"' ";

if(age!=0)

sql += "and age = '"+age+"' ";

當***不為null且不為空的時候不會出錯,但是***如果為空或null而age不為0時,就會出現***x where and ***的錯誤sql。

當***為null或為空且age!=0時,又會出現***x where的錯誤sql。

這都是我們所不期望的!

所以,乙個小技巧可以避免這種尷尬,就是一開始在where後新增1=1

即改為:

sql = "select * from table where 1=1  ";

完美解決各種問題!

Delphi拼裝SQL語句應該注意的地方

delphi中使用sql語句要注意的事項,歸納起來主要有一下幾條 1 一定不要漏空格或換行符。在使用delphi開發管理軟體時,我們要經常拼裝sql語句,例如 select from users where useroid is not null 這個時候sql語句就變成了 select from ...

sql查詢語句查詢條件欄位的拼裝

當我們在查詢資料庫中的資訊時 很多時候需要根據使用者輸入的條件進行查詢 有些條件是有的 可有些條件沒有 這就需要進行組裝條件語句了。下面這種方法就是根據這種情況進行編寫的,希望對看官有所幫助 string sql select from table where where後1 個空格 stringb...

mybatis中寫sql語句時需要轉義的字元

mybatis配置檔案,sql語句中含有轉義字元 錯誤語句 date sub curdate interval 3 day date a.create date 錯誤資訊 caused by org.xml.sax.saxparseexception linenumber 8 columnnumbe...