数据库mysql入门基础--04.数据处理函数/单行处理函数

本文介绍了SQL中的数据处理函数,重点讲解了单行处理函数,如lower、upper、substr、length、trim、str_to_date、data_format、format、round、rand、ifnull以及case...when...then...end的用法。通过实例展示了如何利用这些函数进行数据转换、格式化和条件判断,帮助提升数据查询和分析的效率。
摘要由CSDN通过智能技术生成

四.数据处理函数/单行处理函数

4.1单行处理函数的特点:一个输入对应一个输出
和单行处理函数相对应的是:多行处理函数
多行处理函数的特点:多个输入对应一个输出

4.2单行处理函数常见的有哪些?
(1) lower 转换大写

select
	lower(ename) as ename
from
	emp;
	

(2)upper 转换小写

select
	upper(ename) as ename
from
	emp;
	

(3) substr 取子串(substr(被截取的字符串,起始下标,截取的长度))

select
	substr(ename,1,1) as ename 
from 
	emp;

注意:起始下标从1开始,没有0
找出员工名字第一个字母是A的员工信息?
第一种方式:模糊查询

select
	ename
from
	emp
where
	ename like 'A%';


第二种方式:substr函数

 select
	    ename
	from
		emp
	where
		ename substr(ename,1,1) = 'A';

首字母大写?

select 
concat(upper(substr(name,1,1)),substr(name,2,length(name) - 1)) as result
from
	t_student;//函数可以嵌套

(4)length 取长度

select
	length(ename) enamelength
from
	emp;

(5)trim 去空格

select
	*
from
	emp
where
	ename = trim('   KING');

(6)str_to_date 将字符串转换成日期

(7)data_format 格式化日期

(8)format 设置千分位

(9)round 四舍五入

select 字面量('abc')/字面值('100') from 表名;
select 
	round(1235.567) as result
from
	emp;
select round(1235.567,1) as result from emp;//保留1位小数
select round(1235.567,2) as result from emp;//保留2位小数
select round(1235.567,0) as result from emp;//保留整数位
select round(1235.567,-1) as result from emp;//保留到十位
select round(1235.567,-2) as result from emp;//保留到百位

(10)rand() 随机函数

select round(rand()*100,0) from emp;//产生100以内的随机整数

(11)ifnull 空处理函数,可以将null转换成一个具体值
在所有数据库当中,只要有NULL参与的数学运算,最终结果就是NULL.

:select
	ename,sal + comm as salcomm//comm为补助
from
 	emp;

为了避免这个现象,需要使用ifnull函数
ifnull函数用法:ifnull(数据,被当作哪个值)
如果"数据"为NULL的时候,把这个数据结构当作哪个值。
补助为NULL的时候,将补助当作0

select
		ename,(sal + ifnull(comm,0)) * 12 as yearsal
	from
		emp;

(12)case…when…then…when…then…else…end
当员工的工作岗位是manager的时候,工资上调10%,当工作岗位是salesman的时候,工资上调50%,其他正常(注意:不修改数据库,只是将查询结果显示为工资上调)
select

	ename,
	sal as oldsal,
	job,(case job when 'manager' then sal*1.1 when 'salesman' then sal*1.5 else sal end) as newsal
from
	emp;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值