sql语句select之函数增加字段的sql语句
sql语句select之函数
字符函数
⼀、字符函数
1.length 获取参数值的字节个数
select length(‘john’);
select length(‘张三丰hahahah’)
slect 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.1从指定索引处获取字符到指定截⾄位置
select substr(‘李莫愁爱上陆湛远’,1,3) 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个新号
⼆、字符函数
select rount(-1.55);
select ceil(-1.02)
3.floor向下取整
select floor(-9.99);
select truncate(1.624562,1)
⽬的:第⼀个位数后都不要了
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 salary1.1
when 40 then salary1.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倍.
第⼆种⽤法,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;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论