MySQL函数集锦

MySQL数据库中提供了丰富的内置函数,这些内置函数可以帮助用户更加方便地处理数据表中的数据。

 

(1)数学函数

ABS(x) ==> 返回x的绝对值

CEIL(x), CEILIN(x) ==> 返回不小于x的最小整数值

FLOOR(x) ==> 返回不大于x的最大整数值

RAND() ==> 返回0-1的随机数

RAND(x) ==> 返回0-1的随机数,x值相同时返回的随机数相同

PI() ==> 返回pi的值

TRUNCATE(x, y) ==> 返回数值x保留到小数点后y位的值

ROUND(x) ==> 返回离x最近的整数

ROUND(x, y) ==> 返回x小数点后的y位的值,但截断时要四舍五入

POW(x, y) ==> 返回x的y次方的结果值

SQRT(x) ==> 返回非负数x的二次方根

MOD(x, y) ==> 返回x除以y后的余数

LOG(x) ==> 返回x的基数为2的对数

LOG10(x) ==> 返回x的基数为10的对数

 

(2)字符串函数

CHAR_LENGTH(s) ==> 返回字符串s的字符数

LENGTH(s) ==> 返回字符串s的长度

CONCAT(s1, s2, ...) ==>返回结果为连接参数产生的字符串,如果有值为NULL,返回值为NULL

CONCAT_WS(x, s1, s2, ...) ==> 同CONCAT(s1, s2,...),但每个字符串要直接加上x

INSERT(s1, x, len, s2) ==> 将字符串s2替换s1的x位置开始长度为len的字符串

UPPER(s), UCASE(s) ==> 将字符串s的所有字母转为大写字母

LOWER(s), LCASE(s) ==> 将字符串s的所有字母转为小写字母

LEFT(s, n) ==> 返回从字符串s开始的最左n个字符

RIGHT(s, n) ==> 返回从字符串s开始的最右n个字符

LPAD(s1, len, s2) ==> 返回字符串s1,其左边由字符串s2填补到len字符长度

RPAD(s1, len, s2) ==> 返回字符串s2, 其右边被字符串s2补填至len字符长度

LTRIM(s) ==> 删除字符串s开始处空格字符

RTRIM(s) ==> 删除字符串s结尾处空格字符

TRIM(s) ==> 删除字符串s开始处和结尾处的空格字符

TRIM(s1 FROM s) ==> 去除字符串s开始处和结尾处的字符串s1

REPEAT(s, n) ==> 将字符串s重复n次

SPACE(n) ==> 返回n个空格

REPLACE(s, s1, s2) ==> 用字符串s2替代字符串s中的s1

STRCMP(s1, s2) ==> 比较字符串s1和s2

SUBSTRING(s, n, len) ==> 获取从字符串s中的第n个位置开始的长度为len的字符串

MID(s, n, len) ==> 同SUBSTRING(s, n, len)

LOCATE(s1, s), POSITION(s1 IN s) ==> 从字符串s中获取s1的开始位置

INSTR(s, s1) ==> 从字符串s中获取s1的位置

REVERSE(s) ==> 将字符串s翻转过来

FIELD(s, s1, s2, ...) ==> 返回第一个与字符串s匹配的字符串的位置

 

(3)日期和时间函数

CURDATE(), CURRENT_DATE() ==> 返回当前日期

CURTIME(), CURRENT_TIME() ==> 返回当前时间

NOW(), CURRENT_TIMESTAMP(), LOCALTIME(), SYSDATE(),LOCALTIMESTAMP() ==> 返回当前日期和时间

MONTH(d) ==> 返回日期d中月份值

MONTHNAME(d) ==> 返回日期d中的月份名称

DAYNAME(d) ==> 返回日期d是星期几,英文名

DAYOFWEEK(d) ==> 返回日期d是星期几,1表示星期日,2表示星期一

WEEKDAY(d) ==> 返回日期d是星期几,0表示星期一,1表示星期二

YEAR(d) ==> 返回日期d中的年份值

QUARTER(d) ==> 返回日期d是第几季度

HOUR(t) ==> 返回时间t中的小时值

MINUTE(t) ==> 返回时间t中的分钟值

SECOND(t) ==> 返回时间t中的秒钟值

DATE_FORMAT(d, f) ==> 按照表达式f的要求显示日期d

TIME_FORMAT(t, f) ==> 按照表达式f的要求显示时间t

ADDDATE(d, n) ==> 计算日期d加上n天后的日期

SUBDATE(d, n) ==> 计算日期d减去n天后的日期

ADDTIME(t, n) ==> 计算起始时间t加上n秒后的时间

SUBTIME(t, n) ==> 计算起始时间t减去n秒后的时间

DATEDIFF(d1, d2) ==> 计算日期d1和d2间隔的天数

 

(4)条件判断函数

IF(expr, v1, v2) ==> 如果表达式expr成立,则执行v1;否者,执行v2

IFNULL(v1, v2) ==> 如果v1不为空,则显示v1的值;否者显示v2的值

CASE WHEN expr1 THEN v1 [WHEN expr2 THEN v2] [ELSE vn] END==> 条件判断选择函数

CASE expr WHEN e1 THEN v1 [WHEN e2 THEN v2] [ELSE vn] END ==>条件判断选择函数

 

(5)系统信息函数

VERSION() ==> 获取数据库的版本号

CONNECTION_ID() ==> 获取服务器连接数

DATABASE(), SCHEMA() ==> 获取当前数据库名

USER(), SYSTEM_USER(), SESSION_USER() ==> 获取系统用户

CURRENT_USER(), CURRENT_USER ==>获取系统当前用户

CHARSET(str) ==> 获取字符串str的字符集

LAST_INSERT_ID() ==> 获取最近生成的AUTO_INCREMENT值

 

(6)加密函数

PASSWORD(str) ==> 对字符串str进行加密,经过加密的数据不可逆,如对用户注册密码进行加密

MD5(str) ==> 对字符串str进行加密

ENCODE(str, pswd_str) ==>使用字符串pswd_str加密字符串str,加密结果用BLOB类型的字段保存

DECODE(crypt_str, pswd_str) ==> 使用字符串pswd_str为crypt_str解密

 

(7)其它函数

ASCII(s) ==> 返回字符串s的第一个字符的ASCII码

BIN(x) ==> 返回x的二进制编码

HEX(x) ==> 返回x的十六进制编码

OCT(x) ==> 返回x的八进制编码

INET_ATON(IP) ==> 将IP地址转换为数字显示

INET_NTOA(N) ==> 将数字N转换成IP的形式

CAST(x AS type) ==> 将x变成type类型

CONVERT(s USING cs) ==> 将字符串s的字符集变成cs(gbk, utf8, ucs2)

你可能感兴趣的:(MySQL函数集锦)