我需要显示仅来自任何一年第二季度的数据。我试图在where子句中使用to_date,但它给了我一个错误。不确定我做错了什么。 (使用Oracle 10g)
代码:
SELECT product_name, name
FROM a_product p JOIN a_item i
ON p.product_id=i.product_id
JOIN a_sales_order so ON i.order_id=so.order_id
JOIN a_customer c ON so.customer_id=c.customer_id
WHERE regexp_like(product_name, 'Transducer') AND order_date=to_date(2, 'Q')
AND部分是我遇到麻烦的地方,它给我一个"格式代码不能出现在日期输入格式" order_date是表格中的字段,用于查明在任何一年的第2季度完成的销售。
答案 0 :(得分:2)
你有倒退的论点。你想要那样:
AND to_char(order_date, 'Q') = '2'
函数to_char()
(在此上下文中)采用日期并将其格式化为字符串。什么字符串?包含四分之一的字符串。然后,您希望将其与您关注的值进行比较。