可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

列表达式

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

列表达式可用于各种 SQL 子句中,以引用一个或多个列。本章介绍如何使用 jOOQ 形成各种类型的列表达式。特定类型的列表达式在关于元组或行值表达式的部分中给出,其中表达式可能具有多个维度。

在 jOOQ 中使用列表达式

jOOQ 允许您使用流畅的表达式构造 API 自由地创建任意列表达式。许多表达式可以由DSL 方法的函数构成,其他表达式可以基于预先存在的列表达式构成。例如

// A regular table column expression
Field<String> field1 = BOOK.TITLE;

// A function created from the DSL
Field<String> field2 = trim(BOOK.TITLE);

// More complex function with advanced DSL syntax
Field<String> field4 = listAgg(BOOK.TITLE)
                          .withinGroupOrderBy(BOOK.ID.asc())
                          .over().partitionBy(AUTHOR.ID);

目录

3.11.1.
表列
3.11.1.1.
生成的表列
3.11.1.2.
解引用的表列
3.11.1.3.
命名的表列
3.11.2.
别名列
3.11.3.
转换表达式
3.11.4.
转换表达式 (带TRY_CAST)
3.11.5.
数据类型转换
3.11.6.
隐藏列 (新增)
3.11.7.
只读列
3.11.8.
计算列
3.11.9.
排序规则
3.11.10.
算术表达式
3.11.11.
字符串连接
3.11.12.
字符串大小写敏感性
3.11.13.
通用函数
3.11.13.1.
CHOOSE
3.11.13.2.
COALESCE
3.11.13.3.
DECODE
3.11.13.4.
IIF
3.11.13.5.
NULLIF
3.11.13.6.
NVL
3.11.13.7.
NVL2
3.11.14.
数值函数
3.11.14.1.
ABS
3.11.14.2.
ACOS
3.11.14.3.
ASIN
3.11.14.4.
ATAN
3.11.14.5.
ATAN2
3.11.14.6.
CEIL
3.11.14.7.
COS
3.11.14.8.
COSH
3.11.14.9.
COT
3.11.14.10.
COTH
3.11.14.11.
DEG
3.11.14.12.
E
3.11.14.13.
EXP
3.11.14.14.
FLOOR
3.11.14.15.
GREATEST
3.11.14.16.
LEAST
3.11.14.17.
LN
3.11.14.18.
LOG
3.11.14.19.
LOG10
3.11.14.20.
NEG
3.11.14.21.
PI
3.11.14.22.
POWER
3.11.14.23.
RAD
3.11.14.24.
RAND
3.11.14.25.
ROUND
3.11.14.26.
SIGN
3.11.14.27.
SIN
3.11.14.28.
SINH
3.11.14.29.
SQRT
3.11.14.30.
SQUARE
3.11.14.31.
TAN
3.11.14.32.
TANH
3.11.14.33.
TRUNC
3.11.14.34.
WIDTH_BUCKET
3.11.15.
位函数
3.11.15.1.
BIT_AND
3.11.15.2.
BIT_COUNT
3.11.15.3.
BIT_GET
3.11.15.4.
BIT_NAND
3.11.15.5.
BIT_NOR
3.11.15.6.
BIT_NOT
3.11.15.7.
BIT_OR
3.11.15.8.
BIT_SET
3.11.15.9.
BIT_XNOR
3.11.15.10.
BIT_XOR
3.11.15.11.
SHL
3.11.15.12.
SHR
3.11.16.
字符串函数
3.11.16.1.
ASCII
3.11.16.2.
BIN_TO_UUID (新增)
3.11.16.3.
BIT_LENGTH
3.11.16.4.
CHR
3.11.16.5.
CONCAT (|| 运算符)
3.11.16.6.
DIGITS
3.11.16.7.
LEFT
3.11.16.8.
LENGTH
3.11.16.9.
LOWER
3.11.16.10.
LPAD
3.11.16.11.
LTRIM
3.11.16.12.
MD5
3.11.16.13.
MID
3.11.16.14.
OCTET_LENGTH
3.11.16.15.
OVERLAY
3.11.16.16.
POSITION
3.11.16.17.
REGEXP_REPLACE
3.11.16.18.
REPEAT
3.11.16.19.
REPLACE
3.11.16.20.
REVERSE
3.11.16.21.
RIGHT
3.11.16.22.
RPAD
3.11.16.23.
RTRIM
3.11.16.24.
SPACE
3.11.16.25.
SPLIT_PART
3.11.16.26.
SUBSTRING
3.11.16.27.
SUBSTRING_INDEX
3.11.16.28.
TO_CHAR
3.11.16.29.
TO_HEX
3.11.16.30.
TRANSLATE
3.11.16.31.
TRIM
3.11.16.32.
UPPER
3.11.16.33.
UUID
3.11.16.34.
UUID_TO_BIN (新增)
3.11.17.
二进制函数 (新增)
3.11.17.1.
BIT_LENGTH (binary) (新增)
3.11.17.2.
CONCAT (binary, || operator) (新增)
3.11.17.3.
LENGTH (binary) (新增)
3.11.17.4.
LTRIM (binary) (新增)
3.11.17.5.
MD5 (binary) (新增)
3.11.17.6.
OCTET_LENGTH (binary) (新增)
3.11.17.7.
OVERLAY (binary) (新增)
3.11.17.8.
POSITION (binary) (新增)
3.11.17.9.
RTRIM (binary) (新增)
3.11.17.10.
SUBSTRING (binary) (新增)
3.11.17.11.
TRIM (binary) (新增)
3.11.18.
日期时间函数
3.11.18.1.
CENTURY
3.11.18.2.
CURRENT_DATE
3.11.18.3.
CURRENT_LOCALDATE
3.11.18.4.
CURRENT_LOCALDATETIME
3.11.18.5.
CURRENT_LOCALTIME
3.11.18.6.
CURRENT_OFFSETDATETIME
3.11.18.7.
CURRENT_OFFSETTIME
3.11.18.8.
CURRENT_TIME
3.11.18.9.
CURRENT_TIMESTAMP
3.11.18.10.
DATE
3.11.18.11.
DATEADD
3.11.18.12.
DATEDIFF
3.11.18.13.
DATESUB
3.11.18.14.
DAY
3.11.18.15.
DAY_OF_YEAR
3.11.18.16.
DECADE
3.11.18.17.
EPOCH
3.11.18.18.
EXTRACT
3.11.18.19.
HOUR
3.11.18.20.
ISO_DAY_OF_WEEK
3.11.18.21.
LOCALDATE
3.11.18.22.
LOCALDATEADD
3.11.18.23.
LOCALDATESUB
3.11.18.24.
LOCALDATETIME
3.11.18.25.
LOCALDATETIMEADD
3.11.18.26.
LOCALDATETIMESUB
3.11.18.27.
LOCALTIME
3.11.18.28.
MILLENNIUM
3.11.18.29.
MINUTE
3.11.18.30.
MONTH
3.11.18.31.
QUARTER
3.11.18.32.
SECOND
3.11.18.33.
TIME
3.11.18.34.
TIMESTAMP
3.11.18.35.
TIMESTAMPADD
3.11.18.36.
TIMESTAMPSUB
3.11.18.37.
TO_DATE
3.11.18.38.
TO_LOCALDATE
3.11.18.39.
TO_LOCALDATETIME
3.11.18.40.
TO_TIMESTAMP
3.11.18.41.
TRUNC
3.11.18.42.
YEAR
3.11.19.
数组函数
3.11.19.1.
ARRAY_ALL_MATCH (新增)
3.11.19.2.
ARRAY_ANY_MATCH (新增)
3.11.19.3.
ARRAY_APPEND (|| 运算符)
3.11.19.4.
ARRAY_CONCAT (|| 运算符)
3.11.19.5.
ARRAY_FILTER (新增)
3.11.19.6.
ARRAY_GET
3.11.19.7.
ARRAY_MAP (新增)
3.11.19.8.
ARRAY_NONE_MATCH (新增)
3.11.19.9.
ARRAY_OVERLAP
3.11.19.10.
ARRAY_PREPEND (|| 运算符)
3.11.19.11.
ARRAY_REMOVE
3.11.19.12.
ARRAY_REPLACE
3.11.19.13.
数组构造函数
3.11.19.14.
来自子查询的数组构造函数
3.11.19.15.
CARDINALITY
3.11.20.
JSON函数
3.11.20.1.
JSON_ARRAY
3.11.20.2.
JSON_ARRAY_LENGTH (新增)
3.11.20.3.
JSON_INSERT
3.11.20.4.
JSON_KEY_EXISTS (新增)
3.11.20.5.
JSON_KEYS
3.11.20.6.
JSON_OBJECT
3.11.20.7.
JSON_REMOVE
3.11.20.8.
JSON_REPLACE
3.11.20.9.
JSON_SET
3.11.20.10.
JSON_VALUE
3.11.20.11.
使用->或->>访问JSON数组元素
3.11.20.12.
使用->或->>访问JSON对象属性
3.11.21.
XML函数
3.11.21.1.
XMLATTRIBUTES
3.11.21.2.
XMLCOMMENT
3.11.21.3.
XMLCONCAT
3.11.21.4.
XMLDOCUMENT
3.11.21.5.
XMLELEMENT
3.11.21.6.
XMLFOREST
3.11.21.7.
XMLPARSE
3.11.21.8.
XMLPI
3.11.21.9.
XMLQUERY
3.11.21.10.
XMLSERIALIZE
3.11.22.
CONNECT BY函数
3.11.22.1.
CONNECT_BY_ISCYCLE
3.11.22.2.
CONNECT_BY_ISLEAF
3.11.22.3.
CONNECT_BY_ROOT
3.11.22.4.
LEVEL
3.11.22.5.
PRIOR
3.11.22.6.
SYS_CONNECT_BY_PATH
3.11.23.
系统函数
3.11.23.1.
CURRENT_CATALOG
3.11.23.2.
CURRENT_SCHEMA
3.11.23.3.
CURRENT_USER
3.11.24.
空间函数
3.11.24.1.
ST_Area
3.11.24.2.
ST_AsText
3.11.24.3.
ST_Boundary (新增)
3.11.24.4.
ST_Centroid
3.11.24.5.
ST_Difference
3.11.24.6.
ST_Dimension (新增)
3.11.24.7.
ST_Distance
3.11.24.8.
ST_EndPoint
3.11.24.9.
ST_ExteriorRing
3.11.24.10.
ST_GeometryN
3.11.24.11.
ST_GeometryType
3.11.24.12.
ST_GeomFromText
3.11.24.13.
ST_InteriorRingN
3.11.24.14.
ST_Intersection
3.11.24.15.
ST_Length
3.11.24.16.
ST_NumGeometries
3.11.24.17.
ST_NumInteriorRings
3.11.24.18.
ST_NumPoints
3.11.24.19.
ST_Perimeter (新增)
3.11.24.20.
ST_PointN
3.11.24.21.
ST_SRID
3.11.24.22.
ST_StartPoint
3.11.24.23.
ST_Transform (新增)
3.11.24.24.
ST_Union
3.11.24.25.
ST_X
3.11.24.26.
ST_XMax (新增)
3.11.24.27.
ST_XMin (新增)
3.11.24.28.
ST_Y
3.11.24.29.
ST_YMax (新增)
3.11.24.30.
ST_YMin (新增)
3.11.24.31.
ST_Z
3.11.24.32.
ST_ZMax (新增)
3.11.24.33.
ST_ZMin (新增)
3.11.25.
聚合函数
3.11.25.1.
分组
3.11.25.2.
Distinctness
3.11.25.3.
过滤
3.11.25.4.
排序
3.11.25.5.
Ordering WITHIN GROUP
3.11.25.6.
Keep
3.11.25.7.
ANY_VALUE
3.11.25.8.
ARRAY_AGG
3.11.25.9.
AVG
3.11.25.10.
LISTAGG (binary) (新增)
3.11.25.11.
BIT_AND_AGG
3.11.25.12.
BIT_NAND_AGG
3.11.25.13.
BIT_NOR_AGG
3.11.25.14.
BIT_OR_AGG
3.11.25.15.
BIT_XOR_AGG
3.11.25.16.
BIT_XNOR_AGG
3.11.25.17.
BOOL_AND
3.11.25.18.
BOOL_OR
3.11.25.19.
COLLECT
3.11.25.20.
COUNT
3.11.25.21.
CUME_DIST
3.11.25.22.
DENSE_RANK
3.11.25.23.
EVERY
3.11.25.24.
GROUP_CONCAT
3.11.25.25.
JSON_ARRAYAGG
3.11.25.26.
JSON_OBJECTAGG
3.11.25.27.
LISTAGG
3.11.25.28.
MAX
3.11.25.29.
MAX_BY (新增)
3.11.25.30.
MEDIAN
3.11.25.31.
MIN
3.11.25.32.
MIN_BY (新增)
3.11.25.33.
MODE
3.11.25.34.
MULTISET_AGG
3.11.25.35.
PERCENT_RANK
3.11.25.36.
PERCENTILE_CONT
3.11.25.37.
PERCENTILE_DISC
3.11.25.38.
PRODUCT
3.11.25.39.
RANK
3.11.25.40.
SUM
3.11.25.41.
XMLAGG
3.11.26.
窗口函数
3.11.26.1.
PARTITION BY
3.11.26.2.
ORDER BY
3.11.26.3.
ROWS, RANGE, GROUPS (frame clause)
3.11.26.4.
EXCLUDE
3.11.26.5.
NULL 处理
3.11.26.6.
FROM FIRST, FROM LAST
3.11.26.7.
嵌套聚合函数
3.11.26.8.
窗口聚合
3.11.26.9.
窗口有序聚合
3.11.26.10.
ROW_NUMBER
3.11.26.11.
RANK
3.11.26.12.
DENSE_RANK
3.11.26.13.
PERCENT_RANK
3.11.26.14.
CUME_DIST
3.11.26.15.
NTILE
3.11.26.16.
LEAD
3.11.26.17.
LAG
3.11.26.18.
FIRST_VALUE
3.11.26.19.
LAST_VALUE
3.11.26.20.
NTH_VALUE
3.11.27.
用户定义函数
3.11.28.
用户定义聚合函数
3.11.29.
用户定义类型属性路径
3.11.30.
CASE表达式
3.11.31.
序列和自增列
3.11.32.
标量子查询
3.11.33.
数组值构造函数
3.11.34.
MULTISET值构造函数
3.11.35.
元组或行值表达式
3.11.36.
嵌套记录

上一节 : 下一节

反馈

您对此页面有任何反馈吗? 我们很乐意倾听!

The jOOQ Logo