golang gorm 模糊查詢

2021-10-23 11:21:10 字數 779 閱讀 4036

在grom的官方文件中模糊查詢給的方案是這樣的:

// like

db.where

("name like ?"

,"%jin%").

find

(&users)

但是在實際操作中,我使用了fmt.sprintf去拼接where裡面的查詢條件,如下:

where

(fmt.

sprintf

(" dns like %%%s "

, createdbnameinfo.dns)

)

後面的createdbnameinfo.dns是我資料中的乙個變數,但是一執行到這裡就一直報sql錯誤。

接下來就是各種除錯,在網上也沒有查閱到相關資料,最後發現模糊查詢的like後面的資料需要加上單引號,**如下:

where

(fmt.

sprintf

(" dns like '%%%s' "

, createdbnameinfo.dns)

)

或者使用%q自帶單引號轉義:

where

(fmt.

sprintf

(" dns like %q ",(

"%"+ createdbnameinfo.dns)

))

注意一定要將模糊查詢的%和資料一起放在單引號裡面

希望這次踩的坑對其他golang新手有所幫助

golang gorm多條件篩選查詢操作

案例 檢視陌陌的動態依次可以按照發布時間,性別,城市進行篩選 如圖進行篩選 method chaining,gorm 實現了鏈式操作介面,所以你可以把 寫成這樣 建立乙個查詢 tx db.where name jinzhu 新增更多條件 if somecondition else if yetano...

mysql模糊查詢 MYSQL模糊查詢

mysql提供標準的sql模式匹配,以及一種基於象unix實用程式如vi grep和sed的擴充套件正規表示式模式匹配的格式。一 sql模式 sql的模式匹配允許你使用 匹配任何單個字元,而 匹配任意數目字元 包括零個字元 在 mysql中,sql的模式預設是忽略大小寫的。下面顯示一些例子。注意在你...

cad模糊查詢符號 sql模糊查詢

sql模糊查詢的語法為 select column from table where column like pattern sql提供了四種匹配模式 1.表示任意0個或多個字元。如下語句 select from user where name like 三 將會把name為 張三 三腳貓 唐三藏 ...