高階查詢
isnull:判斷某個欄位是否為null
func (this *OperatorsController) GetIsNull() {
user := models.User{}
var users []*models.User
orm := orm.NewOrm()//建立orm
qs := orm.QueryTable(user)//建立控制程式碼
n, err := qs.Filter("name__isnull", false).All(&users)
if err != nil {
this.Ctx.WriteString("查詢失敗!")
return
}
fmt.Println("n = ", n)
for _, u := range users {
fmt.Println("u = ", u)
}
this.Ctx.WriteString("查詢成功!")
}
in:和sql中得in含義相同,通常和Filter結合使用
func (this *OperatorsController) GetIn() {
user := models.User{}
var users []*models.User
//建立orm
orm := orm.NewOrm()
//建立控制程式碼
qs := orm.QueryTable(user)
//SELECT * FROM USER WHERE id IN(2, 5, 6);
/*buffer := []int{ 13, 14, 15, 16}
n, err := qs.Filter("id__in", buffer).All(&users)*/
n, err := qs.Filter("id__in", 13, 14, 15, 16).All(&users)
if err != nil {
this.Ctx.WriteString("查詢失敗!")
return
}
fmt.Println("n = ", n)
for _, u := range users {
fmt.Println("u = ", u)
}
this.Ctx.WriteString("查詢成功!")
}
istartswith:判斷某個欄位是否以指定內容開始
func (this *OperatorsController) GetStartswith() {
user := models.User{}
var users []*models.User
//建立orm
orm := orm.NewOrm()
//建立控制程式碼
qs := orm.QueryTable(user)
//SELECT * FROM USER WHERE NAME LIKE '杜%'
n, err := qs.Filter("name__startswith", "B").All(&users)
if err != nil {
this.Ctx.WriteString("查詢失敗!")
return
}
fmt.Println("n = ", n)
for _, u := range users {
fmt.Println("u = ", u)
}
this.Ctx.WriteString("查詢成功!")
}
gt:大於,通常和Filter結合使用
func (this *OperatorsController) GetGt() {
user := models.User{}
var users []*models.User
//建立orm
orm := orm.NewOrm()
//建立控制程式碼
qs := orm.QueryTable(user)
//SELECT * FROM USER WHERE id > 2;
n, err := qs.Filter("id__gt", 14).All(&users)
if err != nil {
this.Ctx.WriteString("查詢失敗!")
return
}
fmt.Println("n = ", n)
for _, u := range users {
fmt.Println("u = ", u)
}
this.Ctx.WriteString("查詢成功!")
}
contains:判斷某個欄位是否 包含指定欄位
func (this *OperatorsController) GetContains() {
user := models.User{}
//建立使用者指標切片,用於儲存查詢結果
var users []*models.User
//建立orm
orm := orm.NewOrm()
//建立控制程式碼
qs := orm.QueryTable(user)
//SELECT * FROM USER WHERE NAME LIKE '%紫%';
n, err := qs.Filter("name__contains", "o").All(&users)
if err != nil {
this.Ctx.WriteString("查詢失敗!")
return
}
fmt.Println("n = ", n)
for _, u := range users {
fmt.Println("u = ", u)
}
this.Ctx.WriteString("查詢成功!")
}
exact:對某個條件取反
func (this *OperatorsController) GetExact() {
user := models.User{}
//建立orm
orm := orm.NewOrm()
//建立控制程式碼
qs := orm.QueryTable("user")
//SELECT * FROM USER WHERE id = 7;
//在user表中查詢id等於12的使用者
err := qs.Filter("id__exact", 12).One(&user)
if err != nil {
this.Ctx.WriteString("查詢失敗!")
return
}
fmt.Println("user = ", user)
this.Ctx.WriteString("查詢成功!")
}
學院Go語言視訊主頁
https://edu.csdn.net/lecturer/1928
清華團隊帶你實戰區塊鏈開發
掃碼獲取海量視訊及原始碼 QQ群:721929980
相關文章
- Mongodb高階查詢MongoDB
- SQL高階查詢SQL
- ❖ MongoDB 高階查詢MongoDB
- 資料庫高階查詢之子查詢資料庫
- sql-server高階查詢SQLServer
- mysql高階查詢語句MySql
- MongoDB高階查詢詳細MongoDB
- 學會寫高階查詢
- sql之20高階查詢SQL
- Hive高階操作-查詢操作Hive
- 「Oracle」Oracle高階查詢介紹Oracle
- LINUX find的高階查詢Linux
- 理解索引(中):MySQL查詢過程和高階查詢索引MySql
- mysql多條件過濾查詢之mysq高階查詢MySql
- SQL語言基礎(高階查詢)SQL
- 15、Oracle中的高階子查詢Oracle
- oracle學習筆記(十一) 高階查詢Oracle筆記
- Google高階搜尋技巧之高階語法查詢指令Go
- mongoDB高階查詢這一篇就夠了MongoDB
- Oracle與Mysql的高階查詢與難點sqlOracleMySql
- MySQL 優化五(關聯查詢子查詢以及 in 的效率問題)(高階篇)MySql優化
- python資料庫-mongoDB的高階查詢操作(55)Python資料庫MongoDB
- SpringBoot操作ES進行各種高階查詢Spring Boot
- SQL Server 2008 高階查詢優化概念SQLServer優化
- python資料庫-MySQL資料庫高階查詢操作(51)Python資料庫MySql
- oracle的sql查詢分析函式-高階部分-分析函授over()子句OracleSQL函式
- 整合LlamaIndex與LangChain構建高階的查詢處理系統IndexLangChain
- Flowable 6.6.0 BPMN使用者指南 - 17 高階用例 - 17.7 高階查詢API:執行時和歷史任務查詢之間的無縫切換API
- 多階BOM查詢程式碼
- linux高階工具命令(三)使用gprof和oprofile查詢效能瓶頸Linux
- WPS 2009高階查詢替換外掛的應用
- 求多階BOM查詢程式碼
- ORACLE高水位表的查詢方法Oracle
- Dynamics 365(online) V9.0 new features(七:高階查詢中相關實體的不包含查詢支援)
- day95:flask:SQLAlchemy資料庫查詢進階&關聯查詢FlaskSQL資料庫
- BOM查詢上階層物料函式函式
- 實現更高效能,一起探索Amazon Redshift高階查詢加速器
- Net/NetCore/.NET5 ORM 六大查詢體系 - SqlSugar 高階篇NetCoreORMSqlSugar