mysql中chr_MySQL常见函数
概念:函数类似于java的⽅法(将实现某个功能的逻辑语句封装到⽅法中,对外暴露⼀个公开的名字,就是⽅法名)。好处:
1.隐藏类具体功能的实现细节
2.提⾼代码的重⽤性
调⽤:
SELECT 函数名(实参列表) (实参和形参的 个数、类型 必须⼀致)
FROM 表(根据需要:函数的参数⽤到表中的字段)
过程:调⽤该函数,把函数的逻辑语句执⾏完,将它的返回值显⽰出来。
分类:
1.单⾏函数:处理数据使⽤。传⼊⼀个参数,处理完后,最终会有⼀个返回值
如:CONCAT(str1,str2,...)、LENGTH(str)、IFNULL(expr1,expr2)等
2.分组函数:简称组函数
功能:做统计使⽤。传⼊⼀组参数,最终返回⼀个值。⼜称为统计函数、聚合函数。
1.单⾏函数: 输⼊⼀⾏,输出也还是⼀⾏,检索⼀⾏处理⼀次;
2.多⾏函数: 输⼊多⾏数据,输出是⼀个结果,检索出来的数据分成组后再进⾏处理;
根据参数类型不同,可以分为:
字符类函数: 是专门⽤于字符处理的函数,处理的对象可以是字符或字符串常量,也可以是字符类型的列;
datediff是字符型函数函数
说明
ascii©
返回⼀个字符的ASCII码,c表⽰⼀个字符
chr(i)
返回给出ASCII码值所对应的字符,i表⽰⼀个ASCII码值
concat(s1,s2)
将字符串s2连接到字符s1的后⾯;若s1为null,则返回s2;若s2为null,则返回s1;若s1和s2都为空,则返回null initcap(s)
将字符串s的每个单词的第⼀个字母⼤写,其他字母⼩写;单词之间⽤空格、控制字符、标点符号来区分
instr(s1,s2[,i][,j])
返回字符串s2在字符串s1中第j次出现的位置,搜索从字符串s1的第i个字符开始;
当没有发现要查的字符时,该函数的返回值为0;
若i为负数,则搜索将从右到左进⾏,但函数的返回位置还是按从左到右来计算;
s1和s2均为字符串,i和j均为整数,默认值为1
length(s)
返回字符串s的长度;若s为null,则返回值为null
lower(s)
返回字符串s的⼩写形式
upper(s)
返回字符串s的⼤写形式
ltrim(s1,s2)
删除字符串s1左边的字符串s2
rtrim(s1,s2)
删除字符串s1右边的字符串s2
trim(s1,s2)
删除字符串s1左右两端字符串s2
replace(s1,s2[,s3])
使⽤s3字符串替换出现在s1字符串中的所有s2字符串,并返回替换后的新字符串;s3的默认值为空字符串
substr(s,i[,j])
从字符串s的第i个位置开始截取长度为j的⼦字符串;若省略j,则直接截取到尾部
SHOW VARIABLES LIKE '%char%'/*显⽰客户端的字符集*/
#1.length获取参数长度'字节个数'
SELECTLENGTH('john');
#2.CONCAT(str1,str2,...) 拼接字符串
SELECTCONCAT(last_name,'_',first_name) AS姓名FROMemployees;
#3.upper、lower
SELECT UPPER('john');#⼩转⼤SELECT LOWER('JOHN');#⼤转⼩
#4.substr、substring截取字符串
'⽅法的重载名字⼀样,参数列表不⼀样'
'MySQL中的索引都是从1开始的'
'使⽤1个参数的,截取从指定索引处,后⾯的所有字符'
SELECTSUBSTR('李莫愁爱上了陆展元',7) 结果;'使⽤2个参数的,截取从指定索引处,指定长度的字符'
SELECTsubstr('李莫愁爱上了陆展元',1,3) 结果;
#5.instr:返回字符串中,⼦串的起始索引(第⼀次出现的地⽅),没有返回0
SELECT INSTR ('杨不悔殷六侠爱上了殷六侠','殷8侠') AS out_put;
#6trim去除前后的空格
SELECT LENGTH( TRIM('张翠⼭') )ASOUt_PUT;'去除前后的字符'
SELECT TRIM('a' FROM 'aaaaaa张aaaaaa翠⼭ aaaaaa') ASOUt_PUT;'如果写的是两个字符,就会被系统认为是⼀个单位,然后系统去匹配相应的字符'
SELECT TRIM('aa' FROM 'aaaaaaa张aaaaaa翠⼭ aaaaaaa') ASOUt_PUT;'以上中间的都被认为是有效的字符,不能⽤这个去除' #7.lpad (‘要左填充的字符串,指定长度,指定字符’)
'字符串最终的长度就是指定的长度,超过了就会截断。后⾯的都不会显⽰'
SELECT LPAD ('殷素素',10,'*') AS OUT_PUT
#8.rpad (‘要右填充的字符串,指定长度,指定字符’)
'字符串最终的长度就是指定的长度,超过了就会截断。后⾯的都不会显⽰'
SELECT RPAD ('殷素素',12,'ab') AS OUT_PUT
#9.replace '替换(全部替换)'‘字符串,要替换的内容,替换的内容’
SELECT REPLACE('张周芷若⽆周芷若忌周芷若爱上了周芷若','周芷若','赵敏');
数字类函数: 主要⽤于执⾏各种数据计算,所有的数字类函数都有数字参数并返回数字值;
函数
说明
abs(n)
返回n的绝对值
ceil(n)
返回⼤于或等于数值n的最⼩整数
cos(n)
返回n的余弦值,n为弧度
exp(n)
返回e的n次幂,e=2.71828183
florr(n)
返回⼩于或等于n的最⼤整数
log(n1,n2)
返回以n1为底n2的对数
mod(n1,n2)
返回n1除以n2的余数
power(n1,n2)
返回n1的n2次⽅
pound(n1,n2)
返回舍⼊⼩数点右边n2位的n1的值,n2的默认值为0,这会返回⼩数点最接近的整数;
如果n2为负数,就舍⼊到⼩数点左边相应的位上,n2必须是整数
sign(n)
若n为负数,则返回-1;若n为正数,则返回1;若n=0,则返回0
sin(n)
返回n的正弦值,n为弧度
sqrt(n)
返回n的平⽅根,n为弧度
trunc(n1,n2)
返回结尾到n2位⼩数的n1的值,n2的默认设置为0,
当n2为默认设置时,会将n1截尾为整数,如果n2为负值,就截尾在⼩数点左边相应的位上
#round 四舍五⼊
'绝对值四舍五⼊,然后再去加正负号'
SELECT ROUND(-1.65);'⼩数点后保留⼏位'
SELECT ROUND(1.567,2);
#ceil 屋顶
'向上取整',返回 >=该参数的最⼩整数,⼤于⾥⾯最⼩的整数SELECT CEIL(-1.56);
#floor 地板
'向下取整',返回 <=该参数的最⼤整数,⼩于⾥⾯最⼤的整数SELECT FLOOR(-9.99);
#truncate 截断
'⼩数点后保留⼏位'
SELECT TRUNCATE(1.65,1);
#mod'取余'
SELECT MOD(-10,-3);SELECT -10%-3;'结果⼀样'
'被除数为正就为正,被除数为负就为负'a除b求余数
MOD (a,b) : a-a/b*b
MOD (-10,-3) : -10 - (-10 / -3) * -3 =-1
'(java中除号左右两边都为整数结果取整) 求余数的运算'
rand:获取随机数(默认返回0-1之间的⼩数,⽆限接近于1,到不了1)
区间有开区间和闭区间,其中⼜分为全开区间( ),全闭区间[ ],
左开右闭区间( ] 和左闭右开区间 [ ),
开区间的意思是区间两处的端点值取不到,⽽闭区间的端点值就可以取到。
例如区间[2,6),他是⼀个左闭右开的区间,
那么在这2~6之间的数字我都可以取到,⽽且可以取到2,但不可以取到6.
⽇期和时间类函数: ⽤于处理⽇期和时间的函数,可以实现计算需要的特定⽇期和时间;
⽇期类型的默认格式是“DD-MON-YY”,DD表⽰两位数字的“⽇”,MON表⽰3位数字的“⽉份”,YY表⽰两位数字的“年份”;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。