DQL语言的学习(四)

DQL语言的学习(四)

四、常见函数的使用

(一)单行函数

1.字符函数

length

select length('曾小贤')//中文占三个字符,英文占一个字符

concat

select concat(name,'_',telephone) from students;

upper, lower

select upper('ruki');
select lower('RUKI');

substr(substring)

select substr('曾小贤爱上了胡一菲',6) out_put;//索引从1开始,截取从第六个开始的字符
select substr('曾小贤爱上了胡一菲',1,3) out_put;//截取第一个到第三个字符

instr

select instr('陆展博爱上了胡一菲''胡一菲') as out_put;//返回字符串第一次出现的索引

trim

select length (trim('     关谷神奇     ')) as out_put;//去掉前后空格
select trim('a' from 'aaaaaaaaaaaa关aaaaaaaaa谷aaa神奇aaaaa') as out_put;//去除指定字符串

lpad,rpad

select lpad('陈美嘉',2,'*') as out_put;//用指定字符实现左填充制定长度
select rpad('陈美嘉',2,'*') as out_put;//用指定字符实现右填充指定长度

replace

select replace('曾小贤爱上了诺澜','诺澜','胡一菲') as out_put;//全部元素的替换

2.数学函数

round四舍五入

select round(1.43)

ceil向上取整

select ceil(-2.423);

floor向下取整

select floor(3.234);

truncate 截断

select trancate(1.3745,1);//小数点后保留几位

mod取余

select mod(10,-3);//被除数为负则结果为负

3.日期函数

select now()//当前时间,包括日期和时间
select curdate();//当前系统日期,不包含时间
select curtime();//当前系统时间,不包含日期
select year'1998-8-20';//还有month,hour,day等

在这里插入图片描述

str_to_date将字符通过指定格式转换成日期

select str_to_date('8-20 1998','%c-%d %Y') as out_put;

date_format将日期转换成字符

select date_format(now(),'%y年%m月%d日') as out_put;

datadiff返回两个日期相差的天数

4.其他函数

select version();
select database();
select user();

5.流程控制函数

if函数

select if(10>5,'大','小');//成立返回前者,不成立返回后者

case使用方法一(类似于switch函数)

case '要判断的字段或表达式'
when '常量1' then 要显示的值或语句1//如果是语句就要加分号
when '常量2' then 要显示的值或语句2else 要显示的值或语句;
end
select salary 原始工资,department_id,
case departemnt_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;

case使用方法二(类似于多重 if)

case//条件不再写在这
when '条件1' then '要显示的值或语句1'
when '条件2' then '要显示的值或语句2'

else '要显示的值或语句n'
end
select salary 原始工资,
case 
when salary > 20000 then 'A'
when salary > 15000 then 'B'
when salary > 10000 then 'C'
else 'D'
end as 工资级别
from employees;

(二)分组函数

功能:做统计使用(统计函数、聚合函数、组函数)
sum,avg,max,min,count

select sum(salary) from employees;

特点:
1.sum、avg只能处理数值型,max、min、count可以处理任何类型
2.所有分组函数都忽略null值
3.都可以和distinct组合使用
4.和分组函数一同查询的字段必须是group by后面的字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值