constants

package
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2025 License: Apache-2.0 Imports: 0 Imported by: 0

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

View Source
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
)
View Source
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"       // 超前
)
View Source
const (
	ORDER_ASC  = "ASC"  // 升序
	ORDER_DESC = "DESC" // 降序
)
View Source
const (
	JOIN_INNER = "INNER JOIN" // 内连接
	JOIN_LEFT  = "LEFT JOIN"  // 左连接
	JOIN_RIGHT = "RIGHT JOIN" // 右连接
	JOIN_FULL  = "FULL JOIN"  // 全外连接
	JOIN_CROSS = "CROSS JOIN" // 交叉连接
)
View Source
const (
	// DefaultPage 默认页码
	DefaultPage = 1

	// DefaultPageSize 默认每页大小
	DefaultPageSize = 20

	// MaxPageSize 最大每页大小
	MaxPageSize = 100

	// MinPageSize 最小每页大小
	MinPageSize = 1
)
View Source
const (
	// Asc 升序
	Asc = "ASC"

	// Desc 降序
	Desc = "DESC"

	// DefaultOrder 默认排序方向
	DefaultOrder = Asc
)
View Source
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 = "_" // 匹配单个字符
)
View Source
const (
	// DefaultBatchSize 默认批处理大小
	DefaultBatchSize = 100
)
View Source
const (
	// DefaultQueryTimeout 默认查询超时时间(秒)
	DefaultQueryTimeout = 30
)

Variables

View Source
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 (
	OpEqual              Operator = "="  // 等于
	OpNotEqual           Operator = "!=" // 不等于
	OpGreaterThan        Operator = ">"  // 大于
	OpGreaterThanOrEqual Operator = ">=" // 大于等于
	OpLessThan           Operator = "<"  // 小于
	OpLessThanOrEqual    Operator = "<=" // 小于等于
)
const (
	OpLike       Operator = "LIKE"        // 模糊匹配
	OpNotLike    Operator = "NOT LIKE"    // 不匹配
	OpStartsWith Operator = "STARTS_WITH" // 开始于(LIKE 'value%')
	OpEndsWith   Operator = "ENDS_WITH"   // 结束于(LIKE '%value')
	OpContains   Operator = "CONTAINS"    // 包含(LIKE '%value%')
)
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 (
	OpIsNull    Operator = "IS NULL"     // 为空
	OpIsNotNull Operator = "IS NOT NULL" // 不为空
)
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
)
const (
	LogicAnd Operator = "AND" // 逻辑与
	LogicOr  Operator = "OR"  // 逻辑或
	LogicNot Operator = "NOT" // 逻辑非
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL