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 }