2014-02-18 51 views
0

我需要顯示僅來自任何一年第二季度的數據。我試圖在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

你有反駁的理由。你想要的是:

AND to_char(order_date, 'Q') = '2' 

功能to_char()(在這方面)需要的日期和格式它作爲一個字符串。什麼字符串?帶有四分之一的字符串。然後你想把它與你關心的價值進行比較。

+0

謝謝,這是有道理的,我曾嘗試to_char,但它像order_date = to_char(2,'Q')這樣做。我只是沒有正確的訂單。 – Student

相關問題