第九章 Mysql函数
简介
数学函数:处理数字
字符串函数:处理字符串
日期和时间函数:处理日期和时间,获取时间
条件判断函数:控制条件选择
系统信息函数:获取MySQL系统信息,包括数据库名称,当前用户名和数据库版本
加密函数:对字符串加密和解密
其他函数:格式化函数和锁函数
数学函数
函数 |
作用 |
函数 |
作用 |
abs(x) |
绝对值 |
log(x) |
自然对数 |
ceil(x) |
大于等于x的最小整数 |
log10(x) |
10为底的对数 |
floor(x) |
小于等于x的最大整数 |
radians(s) |
转换为弧度 |
rand() |
0~1的随机数 |
degrees(x) |
转换为角度 |
rand(x) |
0~1的随机数,x值相同时返回的随机数相同 |
sin(x) |
求正弦 |
sign(x) |
返回x的符号,当x为负数、0、正数时分别返回-1、0、+1 |
asin(x) |
求反正弦 |
pi() |
圆周率 |
cos(x) |
求余弦 |
truncate(x,y) |
x保留到小数点后y位 |
acos(x) |
求反余弦 |
round(x,y) |
x保留到小数点后y位,截断时四舍五入 |
tan(x) |
正切 |
pow(x,y),power(x,y) |
x的y次方 |
atan(x) |
反正切 |
sqrt(x) |
求平方根 |
cot(x) |
余切 |
exp(x) |
e的x次方 |
|
|
mod(x,y) |
取余 |
|
|
字符串函数
函数 |
作用 |
函数 |
作用 |
char_length(s) |
返回字符数 |
repeat(s,n) |
将s重复n次 |
length(s) |
返回字符长度 |
replace(s,s1,s2) |
将s中的s1用s2代替 |
concat(s1,s2,……) |
将多个字符串合并为一个字符串 |
strcmp(s1,s2) |
比较字符串s1和s2 |
concat_ws(x,s1,s2,……) |
同上,但使用x连接 |
substring(s,n,len) |
s字符串第n个位置len长的字符串 |
insert(s1,x,len,s2) |
用s2替换s1中x的位置开始长度len的字符串 |
mid(s,n,len) |
同上 |
upper(x),ucase(x) |
转为大写 |
locate(s1,s),position(s1 in s) |
从s中获取s1的开始位置 |
lower(x),lcase(x) |
转为小写 |
instr(s,str) |
同上 |
left(s,n) |
返回s的前n个字符串 |
reverse(s) |
将s反转 |
right(s,n) |
返回s的后n个字符串 |
elt(n,s1,s2,……) |
返回第n个字符串 |
lpad(s1,len,s2) |
s2用来填充s1的开始处,使得字符串长度为len |
export_set(x,s1,s2) |
|
rpad(s1,len,s2) |
s2用来填充s1的结尾处,使得字符串长度为len |
field(s,s1,s2,……) |
返回第一个与字符串s匹配的字符串的位置 |
ltrim(s) |
去掉s开始处的空格 |
find_in_set(s1,s2) |
返回在字符串s2中与s1匹配的字符串的位置 |
rtrim(s) |
去掉s结尾处的空格 |
make_set(x,s1,s2,……) |
按二进制从s1,s2,……,sn中选取字符串 |
trim(s) |
去掉s开始处和结尾处的空格 |
space(n) |
返回n个空格 |
trim(s1 from s) |
去掉s开始处和结尾处的s1 |
|
|
时间日期函数
条件判断函数
1. if(expression,v1,v2)
当表达式成立时,返回v1,否则返回v2
mysql> select if('a'='a','true','false');
2. ifnull(v1,v2)
如果v1不为空则显示v1,否则显示v2
3.case函数
case when expr1 then v1 [when expr2 then v2...] [else vn] end
mysql> select name,score,case when score>90 then 'good' when score>=80 then 'pass' else 'fail' end level from computer_stu;
系统信息函数
加密函数
1. password(str)
2.加密函数md5(str)
3.加密函数encode(str,pswd_str)
4.解密函数decode(crypt_str,pswd_str)