github.com/unionj-cloud/go-doudou/v2@v2.3.5/toolkit/gormgen/field/function.go (about) 1 package field 2 3 import ( 4 "strings" 5 6 "gorm.io/gorm/clause" 7 ) 8 9 // Func sql functions 10 var Func = new(function) 11 12 type function struct{} 13 14 // UnixTimestamp same as UNIX_TIMESTAMP([date]) 15 func (f *function) UnixTimestamp(date ...string) Uint64 { 16 if len(date) > 0 { 17 return Uint64{expr{e: clause.Expr{SQL: "UNIX_TIMESTAMP(?)", Vars: []interface{}{date[0]}}}} 18 } 19 return Uint64{expr{e: clause.Expr{SQL: "UNIX_TIMESTAMP()"}}} 20 } 21 22 // FromUnixTime FROM_UNIXTIME(unix_timestamp[,format]) 23 func (f *function) FromUnixTime(date uint64, format string) String { 24 if strings.TrimSpace(format) != "" { 25 return String{expr{e: clause.Expr{SQL: "FROM_UNIXTIME(?, ?)", Vars: []interface{}{date, format}}}} 26 } 27 return String{expr{e: clause.Expr{SQL: "FROM_UNIXTIME(?)", Vars: []interface{}{date}}}} 28 }