目录
10.1函数
(1)内置函数
内置函数:也称为系统函数,MySQL提供的函数,无需定义、直接使用即可。
1.substring:字符串截取(字符为单位)。
定义变量:set @cn='世界你好'; set @en='hello world';
字符串截取:select substring(@cn,1,1); select substring(@en,1,1);
结果:世 h
截取从位置1开始:mysql中字符串的下标从1开始
截取长度为一:中文没有问题,截取单位为字符。
2.char_lengh:字符长度 length:字节长度
select char_legth(@cn),char_length(@en),length(@cn),length(@en);
结果:4 11 8 11 (一个字符两个字节)
3.Instr:判断字符串是否在某个具体的字符串中存在,返回位置。
select instr(@cn,'界'),instr(@en,'ll'),instr(@cn,'拜拜');
结果:2 3 0(0为没找到)
4.lpad:左填充,将字符串按照某个指定的填充方式,填充到指定长度(字符单位)。
select lpad(@cn,20,'欢迎'),lpad(@en,20,'hello');
结果:欢迎欢迎...世界你好 hellohellhello world
5.Insert:替换,找到目标位置,指定长度的字符串,替换成目标字符串。
select insert(@en,3,3,'y');@en
结果:hey world hello world
6.strcmp:compare,字符串比较
set @f='hello';set @s='hey';set @t='HEY';
select strcmp(@f,@s),strcmp(@s,@t),strcmp(@s,@f);
结果:-1(小) 0(相等) 1(大)
其他函数大全:
分类 |
函数名称 |
描述 |
三角 函数 |
PI() |
计算圆周率 |
RADIANS(x) |
用于将角度x转换为弧度 |
|
DEGREES(x) |
用于将弧度x转换为角度 |
|
SIN(x) |
正弦函数 |
|
COS(x) |
余弦函数 |
|
TAN(x) |
正切函数 |
|
COT(x) |
余切函数 |
|
ASIN(x) |
反正弦函数 |
分类 |
函数名称 |
描述 |
三角 函数 |
ACOS(x) |
反余弦函数 |
ATAN(x) |
反正切函数 |
|
指数 函数 |
SQRT(x) |
求x的平方根 |
POW(x,y)或POWER(x,y) |
幂运算函数(计算x的y次方) |
|
EXP(x) |
计算e(自然对数的底约为2.71828)的x次方 |
|
对数 函数 |
LOG(x) |
计算x的自然对数 |
LOG10(x) |
计算以10为底的对数 |
|
求近似值函数 |
ROUND(x,[y]) |
计算离x最近的整数;若设置参数y,与FORMAT(x,y) 功能相同 |
分类 |
函数名称 |
描述 |
求近似值函数 |
TRUNCATE(x,y) |
返回小数点后保留y位的x(舍弃多余小数位,不进行四舍五入) |
FORMAT(x,y) |
返回小数点后保留y位的x(进行四舍五入) |
|
CEIL(x)或CEILING(x) |
返回大于等于x的最小整数 |
|
FLOOR(x) |
返回小于等于x的最大整数 |
|
进制 函数 |
BIN(x) |
返回x的二进制数 |
OCT(x) |
返回x的八进制数 |
|
HEX(x) |
返回x的十六进制数 |
|
ASCII(c) |
返回字符c的ASCII码(ASCII码介于0~255); |
分类 |
函数名称 |
描述 |
进制 函数 |
CHAR (c1,c2,c3,…) |
将c1、c2、c3、…的ASCII码转换为字符,然后返回这些字符组成的字符串 |
CONV(x,code1,code2) |
将code1进制的x变为code2进制数 |
|
其他 函数 |
RAND() |
默认返回[0,1]之间的随机数 |
ABS(x) |
获取x的绝对值 |
|
MOD(x,y) |
求模运算,与x%y的功能相同 |
分类 |
函数名称 |
描述 |
进制 函数 |
CHAR (c1,c2,c3,…) |
将c1、c2、c3、…的ASCII码转换为字符,然后返回这些字符组成的字符串 |
CONV(x,code1,code2) |
将code1进制的x变为code2进制数 |
|
其他 函数 |
RAND() |
默认返回[0,1]之间的随机数 |
ABS(x) |
获取x的绝对值 |
|
MOD(x,y) |
求模运算,与x%y的功能相同 |
函数名称 |