常见函数之单行函数(字符函数、数学函数)

常见函数

概念:类似于java中的方法,将实现某个功能的一系列逻辑语句封装到了方法中,对外暴露一个公开的名字,当要用这些逻辑语句时,只需要写方法名调用即可

好处:

隐藏了实现细节

提高了代码的重用性

调用:

select 函数名(实参列表) 【from 表】(备注:当调用的函数中需要表中的字段,则加上from 表)

分类:

单行函数(备注:比如concat、length、ifnull等)

分组函数(备注:功能是做统计使用的,又称为统计函数、聚合函数、组函数)

1. 单行函数:

字符函数:

length():获取参数值的字节个数

select length('john');	# 结果为4
select length('你好');   # 若mysql客户端的字符集为utf8则,1个中文字符 =  3个字节,gbk中 1个中文字符 = 2个字节
备注:查看字符集命令	show variables like '%char%';

concat():拼接字符

select concat(`last_name`,'_',`first_name`) from employees;

upper、lower:大小写转换

select upper('hello');
select lower('HelLo');

将姓大写,名小写,然后拼接

SELECT CONCAT(UPPER(`last_name`),LOWER(`first_name`)) FROM employees;
(备注:由上可以看出函数可以嵌套函数,即一个函数的返回值可以当作另一个函数的参数)

substr、substring:截取字符串

select substr('李莫愁爱上了陆湛远',7) as "out put";   # 结果:陆湛远
(注意:sql语句中索引一般从1开始)
(备注:两个参数为截取从指定索引处后面的所有字符)

SELECT SUBSTR('李莫愁爱上了陆湛远',1,3) AS "out put";  # 结果:李莫愁
(备注:三个参数为截取指定索引处指定字符长度的字符)

姓名中首字符大写,其他字符小写然后用_拼接,显示
select concat(upper(substr(last_name,1,1)),'_',lower(substr(last_name,2))) as "out put" from employees;

instr:返回子串第一次出现的索引,如果找不到则返回0

SELECT INSTR('杨不悔爱上了殷六狭','殷六狭') AS `out_put`;  # 结果:7
select instr('杨不悔爱上了殷六狭','殷八狭') as `out_put`;  # 结果:0
select instr('杨不悔殷六狭爱上了殷六狭','殷六狭') as `out_put`;  # 结果:4

trim:去掉字符前后的空格

SELECT TRIM('     张翠山    ') AS "out put";
select trim('a' from 'aaaaaaa张aa翠山aa') as out_put;   # 去掉字符前后的a

lpad:用指定字符实现左填充指定长度

select lpad('殷素素',10,'*') as out_put;  # 结果:*******殷素素
SELECT LPAD('殷素素',2,'*') AS out_put;  # 结果:殷素

rpad:用指定字符实现右填充指定长度

select rpad('殷素素',10,'*') as out_put;  # 结果:殷素素*******

replace:替换

select replace('张无忌爱上了周芷若','周芷若','赵敏');

数学函数:

round:四舍五入

SELECT ROUND(1.65);  # 结果:2
select round(-1.65);  # 结果:-2
select round(1.567,2);  # 结果:1.57(备注:小数点后保留2位)

ceil:向上取整(备注:返回>=该参数的最小整数)

select ceil(1.002);  # 结果:2
select ceil(1.00);  # 结果:1
select ceil(-1.002);  # 结果:-1

floor:向下取整(备注:返回<=该参数的最大整数)

select floor(1.002);  # 结果:1

truncate 截断(备注:小数点后保留几位)

SELECT TRUNCATE(1.65,2);  # 结果:1.65

mod:取余

select mod(10,3);  # 结果:1

rand:获取随机数,返回0-1之间的小数

你可能感兴趣的:(MySQL,mysql)