文章目录
Gorm之db.Table(“users“).Select(“COALESCE(age,?)“, 42).Rows()讲解
注:本文是基于Windos系统上 gorm.io/gorm@v1.23.4进行讲解
1.Mysql里COALESCE函数讲解
1.1COALESCE函数讲解
1.2COALESCE函数使用例子
2.Gorm里COALESCE函数使用讲解
db.Table("users").Select("COALESCE(age,?)", 42).Rows()
// SELECT COALESCE(age,'42') FROM users;
数据库数据:
package main
import (
"database/sql"
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
type User struct {
gorm.Model
Name string
Age sql.NullInt64
}
func main() {
conn, _ := gorm.Open(mysql.New(mysql.Config{
DSN: "root:414524@tcp(127.0.0.1:3306)/gotest?charset=utf8mb4&parseTime=True&loc=Local",
DefaultStringSize: 171,
}), &gorm.Config{})
a, _ := conn.Table("users").Select("COALESCE(age,?)", 654).Rows()
for a.Next() {
var b int64
err := a.Scan(&b)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(b)
}
}
代码输出结果如下: