Documentation
¶
Overview ¶
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-23 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-26 21:55:50 * @FilePath: \go-sqlbuilder\constants\operators.go * @Description: 操作符常量定义 * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-23 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-23 00:00:00 * @FilePath: \go-sqlbuilder\constants\pagination.go * @Description: 分页和批处理常量定义 * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-23 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-23 00:00:00 * @FilePath: \go-sqlbuilder\constants\sort.go * @Description: 排序方向常量定义 * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-23 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-23 00:00:00 * @FilePath: \go-sqlbuilder\constants\sql_templates.go * @Description: SQL模板常量定义 * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
Index ¶
Constants ¶
const ( OP_EQ = OpEqual OP_NEQ = OpNotEqual OP_GT = OpGreaterThan OP_GTE = OpGreaterThanOrEqual OP_LT = OpLessThan OP_LTE = OpLessThanOrEqual OP_LIKE = OpLike OP_NOT_LIKE = OpNotLike OP_STARTS_WITH = OpStartsWith OP_ENDS_WITH = OpEndsWith OP_CONTAINS = OpContains OP_IN = OpIn OP_NOT_IN = OpNotIn OP_BETWEEN = OpBetween OP_NOT_BETWEEN = OpNotBetween OP_IS_NULL = OpIsNull OP_IS_NOT_NULL = OpIsNotNull OP_FIND_IN_SET = OpFindInSet OP_REGEX = OpRegex OP_NOT_REGEX = OpNotRegex OP_ILIKE = OpILike OP_NOT_ILIKE = OpNotILike OP_SIMILAR_TO = OpSimilarTo OP_NOT_SIMILAR_TO = OpNotSimilarTo OP_ALL = OpAll OP_ANY = OpAny OP_SOME = OpSome OP_EXISTS = OpExists OP_NOT_EXISTS = OpNotExists LOGIC_AND = LogicAnd LOGIC_OR = LogicOr LOGIC_NOT = LogicNot )
const ( // 聚合函数 FUNC_COUNT = "COUNT" // 计数 FUNC_SUM = "SUM" // 求和 FUNC_AVG = "AVG" // 平均值 FUNC_MIN = "MIN" // 最小值 FUNC_MAX = "MAX" // 最大值 FUNC_GROUP_CONCAT = "GROUP_CONCAT" // MySQL 分组连接 FUNC_STRING_AGG = "STRING_AGG" // PostgreSQL 字符串聚合 // 窗口函数 FUNC_ROW_NUMBER = "ROW_NUMBER" // 行号 FUNC_RANK = "RANK" // 排名 FUNC_DENSE_RANK = "DENSE_RANK" // 密集排名 FUNC_LAG = "LAG" // 滞后 FUNC_LEAD = "LEAD" // 超前 )
const ( ORDER_ASC = "ASC" // 升序 ORDER_DESC = "DESC" // 降序 )
const ( JOIN_INNER = "INNER JOIN" // 内连接 JOIN_LEFT = "LEFT JOIN" // 左连接 JOIN_RIGHT = "RIGHT JOIN" // 右连接 JOIN_FULL = "FULL JOIN" // 全外连接 JOIN_CROSS = "CROSS JOIN" // 交叉连接 )
const ( // DefaultPage 默认页码 DefaultPage = 1 // DefaultPageSize 默认每页大小 DefaultPageSize = 20 // MaxPageSize 最大每页大小 MaxPageSize = 100 // MinPageSize 最小每页大小 MinPageSize = 1 )
const ( // Asc 升序 Asc = "ASC" // Desc 降序 Desc = "DESC" // DefaultOrder 默认排序方向 DefaultOrder = Asc )
const ( // SQL_EQUAL 等于条件模板 SQL_EQUAL = "%s = ?" // SQL_NOT_EQUAL 不等于条件模板 SQL_NOT_EQUAL = "%s != ?" // SQL_GREATER 大于条件模板 SQL_GREATER = "%s > ?" // SQL_GREATER_EQUAL 大于等于条件模板 SQL_GREATER_EQUAL = "%s >= ?" // SQL_LESS 小于条件模板 SQL_LESS = "%s < ?" // SQL_LESS_EQUAL 小于等于条件模板 SQL_LESS_EQUAL = "%s <= ?" // SQL_IN IN条件模板 SQL_IN = "%s IN ?" // SQL_NOT_IN NOT IN条件模板 SQL_NOT_IN = "%s NOT IN ?" // SQL_LIKE LIKE条件模板 SQL_LIKE = "%s LIKE ?" // SQL_NOT_LIKE NOT LIKE条件模板 SQL_NOT_LIKE = "%s NOT LIKE ?" // SQL_BETWEEN BETWEEN条件模板 SQL_BETWEEN = "%s BETWEEN ? AND ?" // SQL_IS_NULL IS NULL条件模板 SQL_IS_NULL = "%s IS NULL" // SQL_IS_NOT_NULL IS NOT NULL条件模板 SQL_IS_NOT_NULL = "%s IS NOT NULL" // SQL_FIND_IN_SET FIND_IN_SET条件模板 SQL_FIND_IN_SET = "FIND_IN_SET(?, %s)" // SQL_ORDER_BY 排序模板 SQL_ORDER_BY = "%s %s" // SQL_INCREMENT 字段自增模板 SQL_INCREMENT = "%s + ?" // SQL_DECREMENT 字段自减模板 SQL_DECREMENT = "%s - ?" // SQL通配符常量 SQL_WILDCARD_ANY = "%" // 匹配任意字符 SQL_WILDCARD_SINGLE = "_" // 匹配单个字符 )
const (
// DefaultBatchSize 默认批处理大小
DefaultBatchSize = 100
)
const (
// DefaultQueryTimeout 默认查询超时时间(秒)
DefaultQueryTimeout = 30
)
Variables ¶
var OperatorTemplateMap = map[Operator]string{ OP_EQ: SQL_EQUAL, OP_NEQ: SQL_NOT_EQUAL, OP_GT: SQL_GREATER, OP_GTE: SQL_GREATER_EQUAL, OP_LT: SQL_LESS, OP_LTE: SQL_LESS_EQUAL, OP_LIKE: SQL_LIKE, OP_NOT_LIKE: SQL_NOT_LIKE, OP_IN: SQL_IN, OP_NOT_IN: SQL_NOT_IN, OP_IS_NULL: SQL_IS_NULL, OP_IS_NOT_NULL: SQL_IS_NOT_NULL, OP_FIND_IN_SET: SQL_FIND_IN_SET, }
OperatorTemplateMap 操作符到SQL模板的映射
Functions ¶
This section is empty.
Types ¶
type Operator ¶
type Operator string
Operator 操作符类型(统一定义,避免重复)
const ( OpIn Operator = "IN" // 包含 OpNotIn Operator = "NOT IN" // 不包含 OpBetween Operator = "BETWEEN" // 范围 OpNotBetween Operator = "NOT BETWEEN" // 不在范围内 OpAll Operator = "ALL" // 所有(与子查询配合) OpAny Operator = "ANY" // 任意(与子查询配合) OpSome Operator = "SOME" // 某些(与子查询配合) OpExists Operator = "EXISTS" // 存在(子查询) OpNotExists Operator = "NOT EXISTS" // 不存在(子查询) )
const ( OpFindInSet Operator = "FIND_IN_SET" // MySQL FIND_IN_SET OpRegex Operator = "REGEXP" // 正则匹配 OpNotRegex Operator = "NOT REGEXP" // 正则不匹配 OpILike Operator = "ILIKE" // PostgreSQL 不区分大小写匹配 OpNotILike Operator = "NOT ILIKE" // PostgreSQL 不区分大小写不匹配 OpSimilarTo Operator = "SIMILAR TO" // PostgreSQL SIMILAR TO OpNotSimilarTo Operator = "NOT SIMILAR TO" // PostgreSQL NOT SIMILAR TO )