知识点
时间、日期的查询方法
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 |