こんにちは、私はOracleが初めてです。たとえば、過去30日間または20日間の購入日から製品IDを取得するなど、簡単なステートメントを実行するにはどうすればよいですか?
SELECT productid FROM product
WHERE purchase_date ?
SELECT productid FROM product WHERE purchase_date > sysdate-30
最も簡単な方法は、指定することです
Purchase_date> sysdate-30の製品からSELECT productid;
上記のこのsysdateには時間コンポーネントがあるため、現在の時間に基づいて03-06-2011 8:54 AMより新しい発注書になることに注意してください。
比較するときに時間要素を削除したい場合..
SELECT productid FROM product where purchase_date > trunc(sysdate-30);
(コメントに基づいて)、特定の日付を指定する場合は、to_dateを使用し、デフォルトのセッションパラメータに依存しないことを確認してください。
Purchase_date> to_date('03/06/2011 '、' mm/dd/yyyy ')の製品からSELECT productid
(sysdate-30)-(sysdate)コメントの間で、注文については、将来order_datesの注文ができる場合を除き、sysdate条件だけで問題ないはずです。
「purchase_date>(sysdate-30)」を実行するときは、1つの側面に注意してください。「sysdate」は現在の日付、時間、分、秒です。したがって、「sysdate-30」は正確に「30日前」ではなく、「この正確な時間で30日前」です。
購入日が時間、分、秒で00.00.00の場合、次のように改善します。
where trunc(purchase_date)>trunc(sysdate-30)
(これは、時間、分、秒を考慮しません)。
_SELECT COUNT(job_id) FROM jobs WHERE posted_date < NOW()-30;
_
Now()
は、現在の日付と時刻を返します。
これを試してください:これを使用して、過去30日間のデータを選択できます
SELECT
*
FROM
product
WHERE
purchase_date > DATE_SUB(CURDATE(), INTERVAL 1 MONTH)