/
filter_opr.go
45 lines (36 loc) · 976 Bytes
/
filter_opr.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package mysql
import (
"fmt"
)
// EqualOpr EqualOpr
func EqualOpr(name string, val interface{}) string {
return fmt.Sprintf("`%s` = %v", name, val)
}
// NotEqualOpr NotEqualOpr
func NotEqualOpr(name string, val interface{}) string {
return fmt.Sprintf("`%s` != %v", name, val)
}
// BelowOpr BelowOpr
func BelowOpr(name string, val interface{}) string {
return fmt.Sprintf("`%s` < %v", name, val)
}
// AboveOpr AboveOpr
func AboveOpr(name string, val interface{}) string {
return fmt.Sprintf("`%s` > %v", name, val)
}
// InOpr InOpr
func InOpr(name string, val interface{}) string {
return fmt.Sprintf("`%s` in (%v)", name, val)
}
// NotInOpr NotInOpr
func NotInOpr(name string, val interface{}) string {
return fmt.Sprintf("`%s` not in (%v)", name, val)
}
// LikeOpr LikeOpr
func LikeOpr(name string, val interface{}) string {
valStr, valOK := val.(string)
if valOK {
return fmt.Sprintf("`%s` LIKE '%%%s%%'", name, valStr[1:len(valStr)-1])
}
return ""
}