MySQL函数--时间格式--流程控制if判断

一:函数

1.MySQL什么是函数?
相当于python中内置函数
注意与存储的过程的区别,MySQL内置的函数只能在sql语句中使用。
2.通过help查看函数帮助
可以通过
help 函数名    查看帮助信息
3.移除指定字符
Trim	: 移出左右两边指定字符
LTrim	: 移出左侧指定字符
RTrim	: 移出右侧指定字符

image

4.大小写转换
Lower	: 全部转换为小写
Upper	: 全部转换为大写

应用场景:
	应用于图片验证码: 图片验证码为大写和小写结合,但是我们通常全部输入小写或者大写就可以,这就相当于用户输入验证码,全面转换为大写或小写,在匹配验证。

image

5.获取左右起始指定个数字符
Left	: 从左起始
Right	: 从右起始

image
image

6.返回读音相似值(对英文效果)
解析:
客户表中有一个顾客登记的用户名为J.Lee
但如果这是输入错误真名其实叫J.Lie,可以使用soundex匹配发音类似的
where Soundex(name)=Soundex('J.Lie')

关键字:
Soundex

image

二:时间格式实战案例

日期格式: 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');

image

# 以年月日分组
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次
posted @ 2022-02-04 00:44  AlexEvans  阅读(197)  评论(0编辑  收藏  举报