CAST
转类型
CAST(expr AS type)
type取值如下:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
eg:
SELECT CAST(123 AS CHAR) #强制转成字符串
GROUP_CONCAT
拼接
GROUP_CONCAT(
[DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
eg:
select GROUP_CONCAT(id) from A;
select GROUP_CONCAT(id ORDER BY id DESC) from A;
select GROUP_CONCAT(id SEPARATOR ';') from A;
注意:
- int字段的连接陷阱
连接的字段如果是int型,一定要转换成char再拼接
否则返回的将不是一个逗号隔开的串,而是byte[] - 长度陷阱
GROUP_CONCAT连接字段的时候是有长度限制的,并不是有多少连多少
使用group_concat_max_len系统变量,可以设置允许的最大长度:
SET [SESSION | GLOBAL] group_concat_max_len = val
若已经设置了最大长度, 则结果被截至这个最大长度