欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL函数集锦

程序员文章站 2022-04-25 13:57:30
...

MySQL数据库中提供了丰富的内置函数,这些内置函数可以帮助用户更加方便地处理数据表中的数据。 (1)数学函数 ABS(x) == 返回x的绝对 CEIL(x), CEILIN(x) == 返回不小于x的最小整数 FLOOR(x) == 返回不大于x的最大整数 RAND() == 返回0-1的随机数 RAND(x) ==

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)


http://blog.sina.com.cn/s/blog_74a7e56e0101b8ax.html