1、数学函数
ABS(x) | 返回 x 的绝对值 |
BIN(x) |
返回 x 的二进制(OCT 返回八进制,HEX 返回十六进制) |
CEILING(x) | 返回大于 x 的最小整数值 |
EXP(x) | 返回值 e(自然对数的底)的 x 次方 |
FLOOR(x) | 返回小于 x 的最大整数值 |
GREATEST(x1,x2,...,xn) | 返回集合中最大的值 |
LEAST(x1,xn) | 返回集合中最小的值 |
LN(x) | 返回 x 的自然对数 |
LOG(x,y) | 返回 x 的以 y 为底的对数 |
MOD(x,y) | 返回 x/y 的模(余数) |
PI() | 返回 pi 的值(圆周率) |
RAND() | |
ROUND(x,y) | 返回参数 x 的四舍五入的有 y 位小数的值 |
SIGN(x) | 返回代表数字 x 的符号的值 |
SQRT(x) | 返回一个数的平方根 |
TRUNCATE(x,y) | 返回数字 x 截短为 y 位小数的结果 |
2、聚合函数
AVG(col_name) | 返回指定列的平均值 |
COUNT(col_name) | 返回指定列中非 NULL 值的个数 |
MIN(col_name) | 返回指定列的最小值 |
MAX(col_name) | 返回指定列的最大值 |
SUM(col_name) | 返回指定列的所有值之和 |
3、字符串函数
ASCII(char) | 返回字符的 ASCII 码值 |
BIT_LENGTH(str) | 返回字符串的比特长度 |
CONCAT(s1,s2...,sn) | 将 s1,sn 连接成字符串 |
CONCAT_WS(sep,s1,sn 连接成字符串,并用 sep 字符间隔 | |
INSERT(str,x,y,instr) |
将字符串 str 从第 x 位置开始,y 个字符长的子串替换为字符串 instr,返回结果 |
FIND_IN_SET(str,list) |
分析逗号分隔的 list 列表,如果发现 str,返回 str 在list 中的位置 |
LCASE(str)或 LOWER(str) | 返回将字符串 str 中所有字符改变为小写后的结果 |
LEFT(str,x) | 返回字符串 str 中最左边的 x 个字符 |
LENGTH(s) | 返回字符串 str 中的字符数 |
LTRIM(str) | 从字符串 str 中切掉开头的空格 |
POSITION(substr,str) | 返回子串 substr 在字符串 str 中第一次出现的位置 |
QUOTE(str) | 用反斜杠转义 str 中的单引号 |
REPEAT(str,srchstr,rplcstr) | 返回字符串 str 重复 x 次的结果 |
REVERSE(str) | 返回颠倒字符串 str 的结果 |
RIGHT(str,x) | 返回字符串 str 中最右边的 x 个字符 |
RTRIM(str) | 返回字符串 str 尾部的空格 |
STRCMP(s1,s2) | 比较字符串 s1 和 s2 |
TRIM(str) | 去除字符串首部和尾部的所有空格 |
UCASE(str)或 UPPER(str) | 返回将字符串 str 中所有字符转变为大写后的结果 |
4、日期和时间函数
NOW() | 返回当前的日期和时间 |
CURDATE()或 CURRENT_DATE() | 返回当前的日期 |
CURTIME()或 CURRENT_TIME() | 返回当前的时间 |
DATE_ADD(date,INTERVAL int keyword) |
返回日期 date 加上间隔时间 int 的结果(int 必须按照关键字进行格式化) |
DATE_FORMAT(date,fmt) | 依照指定的 fmt 格式格式化日期 date 值 |
FROM_UNIXTIME(ts,fmt) | 根据指定的 fmt 格式,格式化 UNIX 时间戳 ts |
DAYOFWEEK(date) | 返回 date 所代表的一星期中的第几天(1~7) |
DAYOFMONTH(date) | 返回 date 是一个月的第几天(1~31) |
DAYOFYEAR(date) | 返回 date 是一年的第几天(1~366) |
QUARTER(date) | 返回 date 在一年中的季度(1~4) |
DAYNAME(date) | 返回 date 的星期名 |
MONTHNAME(date) | 返回 date 的月份名 |
YEAR(date) | 返回日期 date 的年份(1000~9999) |
MONTH(date) | 返回 date 的月份值(1~12) |
HOUR(time) | 返回 time 的小时值(0~23) |
WEEK(date) | 返回日期 date 为一年中第几周(0~53) |
MINUTE(time) | 返回 time 的分钟值(0~59) |
5、格式化字符串
%M | 月名字(January……December) |
%W | 星期名字(Sunday……Saturday) |
%D | 有英语前缀的月份的日期(1st,2nd,3rd …) |
%Y | 年,数字,4 位 |
%y | 年,2 位 |
%a | 缩写的星期名字(Sun……Sat) |
%d | 月份中的天数,数字(00……31) |
%m | 月,数字(01……12) |
%e | 月份中的天数,数字(0……31) |
%c | 月,数字(1……12) |
%b | 缩写的月份名字(Jan……Dec) |
%j | 一年中的天数(001……366) |
%H | 小时(00……23) |
%k | 小时(0……23) |
%h | 小时(01……12) |
%I | 小时(01……12) |
%l | 小时(1……12) |
%i | 分钟,数字(00……59) |
%r | 时间,12 小时(hh:mm:ss [AP]M) |
%T | 时间,24 小时(hh:mm:ss) |
%S | 秒(00……59) |
%s | 秒(00……59) |
%p | AM 或 PM |
%w | 一个星期中的天数(0=Sunday ……6=Saturday ) |
%U | 星期(0……52),这里星期天是星期的第一天 |
%u | 星期(0……52),这里星期一是星期的第一天 |
%% | 一个文字“%”。 |
6、加密函数
AES_ENCRYPT(str,key) |
返回用密钥 key 对字符串 str 利用高级加密标准算法加密后的结果,调用 AES_ENCRYPT 的结果是一个二进制字符串,以 BLOB 类型存储 |
AES_DECRYPT(str,key) |
返回用密钥 key 对字符串 str 利用高级加密标准算法解密后的结果 |
DECODE(str,key) | 使用 key 作为密钥解密加密字符串 str |
ENCRYPT(str,salt) |
使用 UNIXcrypt()函数,用关键词 salt(一个可以唯一确定口令的字符串,就像钥匙一样)加密字符串 str |
ENCODE(str,key) |
使用 key 作为密钥加密字符串 str,调用 ENCODE()的结果是一个二进制字符串,它以 BLOB 类型存储 |
MD5() | 计算字符串 str 的 MD5 校验和 |
PASSWORD(str) |
返回字符串 str 的加密版本,这个加密过程是不可逆转的,和 UNIX 密码加密过程使用不同的算法。 |
SHA() | 计算字符串 str 的安全散列算法(SHA)校验和 |