以下は、正しく機能するステートメントです。
SELECT purch_id AS PURCH_ID
,TO_DATE('25-DEC-12') - purch_date AS DAYS_TO_CHRISTMAS
FROM CS260USER.candy_purchase;
式の最後に 2012 (または 12) をハードコーディングする代わりに、現在のシステム年を取得して最後にその吸盤を平手打ちするように変更したいと思います。
考え?
以下は、正しく機能するステートメントです。
SELECT purch_id AS PURCH_ID
,TO_DATE('25-DEC-12') - purch_date AS DAYS_TO_CHRISTMAS
FROM CS260USER.candy_purchase;
式の最後に 2012 (または 12) をハードコーディングする代わりに、現在のシステム年を取得して最後にその吸盤を平手打ちするように変更したいと思います。
考え?
SELECT purch_id AS PURCH_ID,
(trunc(sysdate,'yyyy') +
interval '11' month +
interval '24' day) - purch_date AS DAYS_TO_CHRISTMAS
FROM CS260USER.candy_purchase;
動作します。文字列操作を介して行うこともできます
SELECT purch_id AS PURCH_ID,
to_date( '12-25-' || to_char(sysdate,'yyyy'), 'mm-dd-yyyy')
- purch_date AS DAYS_TO_CHRISTMAS
FROM CS260USER.candy_purchase;
ここでは文字列操作の方が明確かもしれませんが、私は日付に対して日付操作を行い、文字列に対して文字列操作を行うことを好みます。