MySQL函数--时间格式--流程控制if判断
目录
一:函数
1.MySQL什么是函数?
相当于python中内置函数
注意与存储的过程的区别,MySQL内置的函数只能在sql语句中使用。
2.通过help查看函数帮助
可以通过
help 函数名 查看帮助信息
3.移除指定字符
Trim : 移出左右两边指定字符
LTrim : 移出左侧指定字符
RTrim : 移出右侧指定字符
4.大小写转换
Lower : 全部转换为小写
Upper : 全部转换为大写
应用场景:
应用于图片验证码: 图片验证码为大写和小写结合,但是我们通常全部输入小写或者大写就可以,这就相当于用户输入验证码,全面转换为大写或小写,在匹配验证。
5.获取左右起始指定个数字符
Left : 从左起始
Right : 从右起始
6.返回读音相似值(对英文效果)
解析:
客户表中有一个顾客登记的用户名为J.Lee
但如果这是输入错误真名其实叫J.Lie,可以使用soundex匹配发音类似的
where Soundex(name)=Soundex('J.Lie')
关键字:
Soundex
二:时间格式实战案例
日期格式: date_format
%Y: 年
%m: 月
%d: 日
%H: 时
%M: 分
%S: 秒
%X: 时分秒
1.时间格式实战案例
日期格式:date_format
'''在MySQL中表示时间格式尽量采用2022-11-11形式'''
2.创建表
CREATE TABLE blog (
id INT PRIMARY KEY auto_increment,
NAME CHAR (32),
sub_time datetime
);
3.插入时间数据
INSERT INTO blog (NAME, sub_time)
VALUES
('第1篇','2015-03-01 11:31:21'),
('第2篇','2015-03-11 16:31:21'),
('第3篇','2016-07-01 10:21:31'),
('第4篇','2016-07-22 09:23:21'),
('第5篇','2016-07-23 10:11:11'),
('第6篇','2016-07-25 11:21:31'),
('第7篇','2017-03-01 15:33:21'),
('第8篇','2017-03-01 17:32:21'),
('第9篇','2017-03-01 18:31:21');
4.查询数据(group by分组时间格式为年月分组并且count计数)
select date_format(sub_time,'%Y-%m'),count(id) from blog group by date_format(sub_time,'%Y-%m');
# 以年月日分组
1.where Date(sub_time) = '2015-03-01'
# 以年分组
2.where Year(sub_time)=2016 AND Month(sub_time)=07;
# 更多日期处理相关函数
date 年月日
where date(sub_time) = '2015-03-01'
year 年份
where year(sub_time) = 2016
month 月份
where month(sub_time) = 07
adddate 增加一个日期
addtime 增加一个时间
datediff计算两个日期差值
...
三:流程控制
1.if判断
if i = 1 THEN # THEN = 那么
SELECT 1;
ELSEIF i = 2 THEN
SELECT 2;
ELSE
SELECT 7;
END IF;
2.while循环
SET num = 0 ;
WHILE num < 10 DO
SELECT
num ;
SET num = num + 1 ;
END WHILE ;
# 循环10次