| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package queryreq
-
- // Operator 查询运算符枚举
- type Operator string
-
- const (
- // OpEquals 等于
- OpEquals Operator = "="
- // OpNotEquals 不等于
- OpNotEquals Operator = "!="
- // OpLike 模糊匹配
- OpLike Operator = "like"
- // OpIn IN筛选
- OpIn Operator = "in"
- // OpGreaterThan 大于
- OpGreaterThan Operator = ">"
- // OpLessThan 小于
- OpLessThan Operator = "<"
- // OpGreaterOrEq 大于等于
- OpGreaterOrEq Operator = ">="
- // OpLessOrEq 小于等于
- OpLessOrEq Operator = "<="
- )
-
- // IsValid 检查运算符是否有效
- func (o Operator) IsValid() bool {
- switch o {
- case OpEquals, OpNotEquals, OpLike, OpIn, OpGreaterThan,
- OpLessThan, OpGreaterOrEq, OpLessOrEq:
- return true
- default:
- return false
- }
- }
-
- // ToSQL 将运算符转换为SQL操作符
- func (o Operator) ToSQL() string {
- switch o {
- case OpLike:
- return "LIKE"
- case OpIn:
- return "IN"
- default:
- return string(o)
- }
- }
-
- // RequiresValue 检查运算符是否需要值
- func (o Operator) RequiresValue() bool {
- // 所有定义的运算符都需要值
- // 未来如果添加IS NULL等不需要值的运算符,可以在此排除
- return true
- }
|