round(x, n) | 四舍五入,x为浮点数,n为保留的位数 |
ceil(x) | 向上取整 |
floor(x) | 向下取整 |
truncate(x, n) | 截断x,n为保留的位,该位之后的数值置零,位数表示示例:321.123,其中小数点前用负值表示,小数点位数为0,即 truncate(x, 0) 等同于舍弃小数部分取整 |
mod(a, b) | 返回 a 除以 b 的余数 |
abs(x) | 返回 x 的绝对值 |
rand() | 返回 0-1 的随机浮点数 |
sign(x) | 返回数值的符号,1、-1或者0 |
avg(column) | 返回字段或数组切片的均值 |
var_pop(column) | 返回字段或数组切片的总体方差 |
var_samp(column) | 返回字段或数组切片的样本方差(计算方法不同) |
std(column) | 总体标准差 |
stddev_samp(column) | 样本标准差 |
replace(str, a, b) | 将字符串中的 a 替换为 b(从头开始检索,替换所有存在的片段) |
concat(a, b) | 合并字符串(不能直接 a + b)(接受多个参数,按顺序合并) |
concat_ws(fill, a, b) | 合并并在两者之间填充 fill 片段 |
left(str, n) / right(str, n) | 左起 / 右起取 n 个字符 |
substring(str, x, n) | 左起 x 位(含)取 n 个字符 |
ltrim / rtrim / trim(str) | 去除 左 / 右 / 两边的空格 |
repeat(str, n) | 重复 n 次 |
char_length(str) / length(str) | 返回字符数 / 字节数(mysql 中中文字符默认 3 字节) |
coalesce(column, value) | 使用 value 填充字段 column 中的空值 |
cast(column as dtype) | 将 column 字段的数据类型转换为 dtype(如 char) |
convert(column, dtype) | 同上 |
now() | 返回当前的年月日时分秒,默认格式为"%Y-%m-%d %h:%i:%s" |
year/month/day/hour/minute/second(x) | 依次返回 x 中包含的年/月/日/时/分/秒 |
date(time)/time(x) | 返回 x 中的日期/时间 |
weekofyear(x)/dayofweek(x) | 顾名思义,注意每周以周日为第 0 天,周一为第 1 天 |
date_format(x, format) | format 可以是 “%Y-%m-%d”,或者"%w"(返回周几) |
date_add/date_sub(x, interval n unit) | x前移或后移一段时间,n 为数值,unit 为 year、month、day 等关键字 |
date_diff(a, b) | 两个时间日期的差值 |
select * INTO OUTFILE filename from tablename; | 输出到文件,默认在安装目录的 Data 文件夹 |
select * from tablename LIMIT n, m | 从 n 行开始(含)取 m 行 |
select … where column LIKE “%str%” | 匹配字符串,用 % 表示任意数量的任意字符,用 - 表示单个任意字符 |
select … where column REGEXP “regexp” | 类似 LIKE,使用正则表达式,更精准的匹配 |
select … IF(condition, true_value, false_value) from table | 条件赋值 |
select … CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 … ELSE last_value END from table | 多个条件匹配赋值 |