我正在完成一项家庭作业,一直都很顺利,直到我达到这一点。我的教授希望我在MARCH,APRIL和MAY中只提取日期,而不使用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;
答案 0 :(得分:1)
您可以再次尝试date_format
:
WHERE DATE_FORMAT(order_date, '%M') IN ('March', 'April', 'May')
或只是monthname()
:
WHERE MONTHNAME(order_date) IN ('March', 'April', 'May')
答案 1 :(得分:0)
我不确定这是否是最有效的方法,但你可以用“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的答案。