mysql常用函数

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,x2,...,xn) 返回集合中最小的值
LN(x) 返回 x 的自然对数
LOG(x,y) 返回 x 的以 y 为底的对数
MOD(x,y) 返回 x/y 的模(余数)
PI() 返回 pi 的值(圆周率)
RAND()

返回0到1内的随机值,可以通过提供一个参数(种子)使 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,s2...,sn 连接成字符串
CONCAT_WS(sep,s1,s2...,sn) 将 s1,s2...,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)校验和

你可能感兴趣的:(mysql常用函数)