SQL:尝试对数据进行排序以显示某些月份但失败了

SQL: Trying and failing to sort data to display certain months

我正在做家庭作业,在我完成这一点之前一切都很好。我的教授希望我只提取三月、四月和五月的日期,而不使用 BETWEEN 运算符。

注意:我没有收到任何错误。我正在使用运行 MySQL 的 EDUPE,但有一些小的差异,有些东西根本无法工作。

问题是,有没有办法让我的代码正常运行?还是我走错了方向?

/*Exercise Six*/
SELECT order_id as "Order ID", DATE_FORMAT(order_date, '%M-%d-%Y') as "Order Date"
FROM orders
WHERE order_date IN ('March%', 'April%', 'May%')
ORDER BY order_date ASC;

您可以用 date_format 再试一次:

WHERE DATE_FORMAT(order_date, '%M') IN ('March', 'April', 'May')

或者只是 monthname():

WHERE MONTHNAME(order_date) IN ('March', 'April', 'May')

我不确定这是否是最有效的方法,但您可以使用 "union":

select order_ID, order_date from orders
where order_date Like '%Mar%'
union
select order_ID, order_date from orders
where order_date Like '%Apr%'
union
select order_ID, order_date from orders
where order_date Like '%May%'

编辑:我更喜欢 Otashin 的回答。