一、函数定义:MySQL中内置了函数,我们子啊使用MySQL的时候可以直接调用程序和代码x
二、函数分类:1、字符串函数 2、数值函数 3、日期函数 4、流程函数
1、字符串函数
常用字符串函数: concat lower upper Lpad Rpad trim substring
![](https://img.haomeiwen.com/i1978023/90685470212093d9.png)
应用:
![](https://img.haomeiwen.com/i1978023/5c6ad61e1d9ac5af.png)
注:
Lpad注意依次顺序为(1、对什么字符串进行填充 2、填充长度是多少-用数字表示 3、用什么字符串来填充)
substring注意(1、对什么字符串切割 2、对第几个进行切割,算上空格,一个空格算一个 3、切割几个 如下实例
![](https://img.haomeiwen.com/i1978023/280c8d4d97bd3e81.png)
2、数值函数
ceil:向上取整
floor:向下取整
mod:除以,看余数
rand:算出来0~1之间的随机数
round:四舍五入
应用:
![](https://img.haomeiwen.com/i1978023/a18b3c35d3c809a9.png)
![](https://img.haomeiwen.com/i1978023/1627655cb8bd7990.png)
![](https://img.haomeiwen.com/i1978023/74f40f2b84fb50e5.png)
注:若 select mod(5,4);余数为1 核心看余数
![](https://img.haomeiwen.com/i1978023/a4c5234f14b91a03.png)
![](https://img.haomeiwen.com/i1978023/54a36ba8a54740c1.png)
![](https://img.haomeiwen.com/i1978023/a5ba9a3fd72c7aa7.png)
练习:
通过数据库函数,生成一个六位数随机验证码
![](https://img.haomeiwen.com/i1978023/ae76278b7a07d07c.png)
3、日期函数
curdate():返回当前日期(年月日)
curtime(): 返回当前时间(时分秒)
now(): 当前日期和时间(年月日时分秒)
year(date): 获取指定date年份
month(date):获取指定date月份
day(date):获取指定date的日期
date_add:当前时间往后间隔的时间
datediff:两个指定时间之间相差的天数
应用:
![](https://img.haomeiwen.com/i1978023/c4824f30e457bd2b.png)
![](https://img.haomeiwen.com/i1978023/e557a2190ae255e9.png)
![](https://img.haomeiwen.com/i1978023/28ff73e6609c516e.png)
![](https://img.haomeiwen.com/i1978023/66f304a8161f1d12.png)
![](https://img.haomeiwen.com/i1978023/9af782b9f5472957.png)
![](https://img.haomeiwen.com/i1978023/e469d41652d2de66.png)
![](https://img.haomeiwen.com/i1978023/272dd46c58c757f3.png)
练习:查询所有员工入职天数,并且根据入职天数倒叙排序
![](https://img.haomeiwen.com/i1978023/804558ceacb91c0b.png)
注意点:
1)当前时间函数:curdate() ,注意有括号
2)嵌套datediff(curdate(),entrydate)
3)把 curdate(),entrydate 起别名 entrydays
4)order by entrydays desc
4、流程控制函数
![](https://img.haomeiwen.com/i1978023/1c0b71e5a61103c6.png)
![](https://img.haomeiwen.com/i1978023/02552728cca9f175.png)
![](https://img.haomeiwen.com/i1978023/dd970084a242fb76.png)
![](https://img.haomeiwen.com/i1978023/98452de79587d20d.png)
![](https://img.haomeiwen.com/i1978023/eb1a371f667694e3.png)
查询emp工作表中员工姓名和工作地址,北京上海一线城市,其他为二线城市
![](https://img.haomeiwen.com/i1978023/c5e98422ac2c0acd.png)
注:
第一步 select name, workaddress from emp
第二步 根据需求把工作地址北京上海----一线城市 其他二线城市 即case workaddress when '上海' then '一线城市' ....
第三步起别名,如下图
![](https://img.haomeiwen.com/i1978023/81104858652b4c89.png)
![](https://img.haomeiwen.com/i1978023/5d6aefb256eb9708.png)
![](https://img.haomeiwen.com/i1978023/7f2a65a1d3dd5a0b.png)
![](https://img.haomeiwen.com/i1978023/97dfad3b533c61ed.png)
![](https://img.haomeiwen.com/i1978023/721e78f88afe2f42.png)
注意:这段写了很多遍,总是报错,核心问题点在于
1)每列之间没有写逗号
2)括号写成中文符合---sql需要英文符号
3)记得流程函数 case when then else end 最后需要有end
4)第三列四列五列需要有逗号,每列由复杂函数组成
5、四类函数总结===理解每个函数的意义
![](https://img.haomeiwen.com/i1978023/515062457791136a.png)
网友评论