SQL语句之函数查询--SQL常用函数

SQL语句之函数查询–SQL常用函数

一、字符函数

1.length 获取参数值的字节个数

select length('john');
select length('张三丰hahahah');

2.concat拼接多个字段

select 
	concat(last_name,'_',first_name) as 姓名 
from 
	employees;

目的:拼接last_name和first_name字段,中间用下划线连接

3.upper将字符转为大写

select upper('john');

4.lower将字符转为小写

select lower('joHn');

综合案例

select 
	concat(upper(last_name),lower(first_name)) as 姓名 
from employees

目的:从employees表中将last_name字段变为大写,将first_name变为小写,然后进行拼接,最后取别名为“姓名”

5.substr获取字段子串

5.1从指定索引处获取字符

select substr('李莫愁爱上陆湛远'7) as out_put;

目的:得到字符串的第7位直到最后(索引从1开始)

5.2从指定索引处获取字符到指定截至位置

select substr('李莫愁爱上陆湛远'13) as out_put;

目的:得到字符串的第1位直到第3位(索引从1开始)

综合案例:

select 
	concat(substr(last_name,1,1),'_',lower(substr(last_name,2))) as out_put 
from 
	employees;

目的:最终就是拼接两个字段,这两个字段分别是last_name的第一个字符,和last_name第2个字母往后的字符,然后变为小写,其中拼接时中间用下划线连接。

6.instr返回子串第一次出现的索引

select instr('这是一个测试数据集',‘一个’) as out_put;返回;

7. trim,去除首尾空格或者是指定字符

select length(trim('       张翠山          '))  as out_put;

目的:除去两边空格

select trim('a' from 'aaaaaaaaaaaa张aaaaaaaaaa翠山aaaaaaaaaaaa');

目的:除去张aaaaaaaaaa翠山两边的a,中间的不会去掉

8.lpad,rpad用指定字符实现左右填充

select lpad('张翠山',2,'*') as out__put;

目的:向左补2个新号

二、字符函数

1.round四舍五入

select round(-1.55);

2.ceil向上取整

select ceil(-1.02);

3.floor向下取整

select floor(-9.99);

4.truncate截断

select truncate(1.624562,1);

目的:第一个位数后都不要了

5.mod取余

slect mod(10,-3); 

二、流程控制函数

1. if 、if else

select if(10<5,'大','小‘)

目的:条件满足返回第一个,不满足返回第二个

2.case
第一种用法,when后具体值

select 
	salary 原始工资 ,
	department_id
case 
	department_id
	when 30 then salary*1.1
	when 40 then salary*1.2
	when 50 then salary*1.3
else salary
end as 新工资
from 
	employees;

目的:查询employees中,department_id为30的,salary乘以1.1倍,40的salary乘以1.2倍,50的salary乘以1.3倍.,最后将salary重命名为 ”新工资“

第二种用法,when后是表达式

select 
	salary
case 
	when salary>20000 then 'A'
	when  salary>15000 then 'B'
	when  salary>10000 then 'C'
else 'D'
end as 工资级别
from employees;

目的:从employees中,查出工资在20000以上的定为A,15000为B等

三、分组函数

函数名 函数功能
sum 求和
avg 求平均
max 求最大值
min 求最小值
count 个数统计

例:

select sum(salary) from employees;

你可能感兴趣的:(SQL,mysql,sql,数据库)