MySQL 函数
MySQL 函数
字符串函数
CONCAT
字符串 s1,s2 等多个字符串合并为一个字符串
1 | # SELECT CONCAT(str:varchar*) |
CONCAT_WS
同 CONCAT(s1,s2,…) 函数,但是每个字符串之间要加上 x,x 可以是分隔符
1 | # SELECT CONCAT(sepatator:varchar, str:varchar*) |
FIND_IN_SET
返回在字符串s2中与s1匹配的字符串的位置
1 | # SELECT FIND_IN_SET(str:varchar, strlist.varchar); |
FIELD
返回第一个字符串 s 在字符串列表(s1,s2…)中的位置
1 | # FIELD(s,s1,s2...) |
FORMAT
函数可以将数字 x 进行格式化 “#,###.##”, 将 x 保留到小数点后 n 位,最后一位四舍五入,同ROUND
1 | # FORMAT(x,n) |
LOCATE
从字符串 s 中获取 s1 的开始位置
1 | # SELECT LOCATE(substr:varchar, str:varchar) |
POSITION
从字符串 s 中获取 s1 的开始位置
1 | # SELECT POSITION(substr:varchar IN str:varchar) |
REPLACE
将字符串 s2 替代字符串 s 中的字符串 s1
1 | # SELECT REPLACE(str:varchar, from_str:varchar, to_str:varchar) |
STRCMP
比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1
1 | # SELECT STRCMP(expr1:varchar, expr2:varchar) |
SUBSTR
从字符串 s 的 start 位置截取长度为 length 的子字符串
1 | # SUBSTR(s, start, length) |
日期函数
DATE_FORMAT
日期格式化->VARCHAR()
1 | # SELECT DATE_FORMAT(date:date format:varchar) |
DATE_ADD/DATE_SUB
增加/减少时间段->DATE
1 | # DATE_ADD(date:date, INTERVAL expr:int type) |
DATE_DIFF
计算日期天数间隔
1 | # SELECT DATEDIFF(expr1:datetime, expr2:datetime) |
TIMESTAMPDIFF
计算时间差:expr2:datetime − expr1:datetime->int
1 | # SELECT TIMESTAMPDIFF(type, expr1:datetime, expr2:datetime) |
高级函数
CASE
CASE WHEN THEN ELSE END
1 | # SELECT CASE expr |
CAST
转换数据类型
1 | # SELECT CAST(ANY:any AS datatype, cast_datatype) |
COALESCE
返回参数中的第一个非空表达式(从左往右)
1 | # SELECT COALESCE(value:any*) |
IF
如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2。
1 | # SELECT IF(expr:any, v1, v2) |
IFNULL
如果 v1 的值不为 NULL,则返回 v1,否则返回 v2
1 | # SELECT IFNULL(expr1:any, expr2:any) |
ISNULL
判断表达式是否为 NULL
1 | # SELECT ISNULL(expr:any) |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.