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  }