牛客网之SQL必知必会(2)-限定时间、日期的查询

知识点

时间、日期的查询方法

Orders订单表

order_num order_date
a0001 2020-01-01 00:00:00
a0002 2020-01-02 00:00:00
a0003 2020-01-01 12:00:00
a0004 2020-02-01 00:00:00
a0005 2020-03-01 00:00:00

【问题】编写 SQL 语句,返回 2020 年 1 月的所有订单的订单号(order_num)和订单日期(order_date),并按订单日期升序排序

--用like来查找
select order_num, order_date
from Orders
where order_date like '2020-01%'
order by order_date

--切割字符串
select order_num, order_date
from Orders
where left(order_date, 7) = '2020-01'
order by order_date

--字符串比较
select *
from Orders
where order_date >= '2020-01-01 00:00:00' and order_date <= '2020-01-31 23:59:59'
order by order_date;

--用正则来查找(效率不如like,能用like就用like)
select order_num, order_date
from Orders
where order_date regexp '2020-01'
order by order_date

--时间函数匹配
select order_num, order_date
from Orders
where year(order_date) = '2020' and month(order_date) = '1'
order by order_date

--利用date_format函数 (参考其中的匹配规则进行匹配)
select order_num, order_date
from Orders
where date_format(order_date, '%Y-%m')='2020-01'
order by order_date

【示例结果】

返回订单号order_num,和order_date订单时间

order_num order_date
a0001 2020-01-01 00:00:00
a0003 2020-01-01 12:00:00
a0002 2020-01-02 00:00:00

猜你喜欢

转载自blog.csdn.net/weixin_48272780/article/details/127954709