0

顧客の生年月日を取得しようとしていますが、現在の年 (sysdate) を使用しています。たとえば、John Brown は 01-JAN-65 で生まれました。John の誕生日から前の月曜日と次の日曜日を取得するクエリを作成して、その 7 日間の時間枠でクーポンが有効であることを顧客が確認できるようにします。 . したがって、John Brown の場合、行には 3 つの列があります。

FullName,       Monday         Sunday
John Brown      31-DEC-2012    06-JAN-2013

私のテーブル定義は次のとおりです。

テーブル名- 顧客

コラム

Customer_ID
First_Name
Last_Name
DOB
Phone  

Oracle Database 11g の第 5 章「日付と時刻の格納と処理」を読みましたが、問題の解決策が見つかりませんでした。助けてください、ありがとう。私を助けてくれたことへの感謝として、あなたの PayPal メールに 5 ドルを送ります。私は学ぼうとしています。

Oracle で SQL を使用して現在の年を取得するにはどうすればよいですか? のコードを実装しようとしました。しかし、エラーが発生し続けます

4

2 に答える 2

1

TO_CHAROracle の、TO_DATE、およびを使用した 1 つのクエリNEXT_DAY:

SELECT name, 
       TO_DATE(TO_CHAR(SYSDATE, 'YYYY') || TO_CHAR(birthdate, 'MMDD'), 'YYYYMMDD') "This Birthday",
       NEXT_DAY(TO_DATE(TO_CHAR(SYSDATE, 'YYYY') || TO_CHAR(birthdate, 'MMDD'), 'YYYYMMDD'), 'Sun') "Sunday After",
       NEXT_DAY(TO_DATE(TO_CHAR(SYSDATE, 'YYYY') || TO_CHAR(birthdate, 'MMDD'), 'YYYYMMDD'), 'Sun') - 6 "Monday Before"
FROM Table1;

ここに、テスト データを使用したSQL Fiddleがあります。

于 2013-09-29T03:35:14.680 に答える