私はMySQLで書き直そうとしているOracle SQL Queryを持っています。MySQLで月曜日の日付を取得するには?
PS:日付はここでは任意です。実際のシナリオでは、ユーザー定義の日付を受け入れるTableau内でこのカスタムクエリを使用します。「参照開始日」は「開始日」と比較されます。 OracleのSQLクエリの
パート:上記
CASE WHEN psr.dt_orgn IS NULL THEN NULL
ELSE
CASE WHEN CAST('2017-05-22' AS DATE) >= CAST('2017-06-22' AS DATE) THEN TRUNC(psr.dt_orgn,'IW')
ELSE TRUNC(psr.dt_orgn + ((CAST('2017-06-22' AS DATE)-CAST('2017-05-22' AS DATE))*(INTERVAL '1' DAY)),'IW')
END
END) week
はその週
MySQLバージョンのつまり月曜日の日ウィークスタート日付 '内に日付を変換するために、データベース内の既存のカレンダーテーブルを使用しています。私は解決策を使用しています
CASE WHEN psr.originated IS NULL THEN NULL
ELSE
CASE WHEN CAST('2017-05-22' AS DATE) >= CAST('2017-06-22' AS DATE) THEN DATE_ADD(psr.originated,
INTERVAL - WEEKDAY(psr.originated) DAY)
ELSE DATE_ADD(psr.originated + ((CAST('2017-06-22'AS DATE) - CAST('2017-05-22' AS DATE)) * (INTERVAL '1' DAY))
END
END) week
次のように私は、MySQLで「週開始日」を取得することが分かっ:
DATE_ADD(mydate, INTERVAL(1-DAYOFWEEK(mydate)) DAY)
これを実行中にエラーが発生します。 私の質問は、MySQLクエリで '1日間隔'を使って2番目のelse条件に同じ方法を適用する方法です。
MySQLの週開始日を取得する簡単な方法はありますか?
ありがとう!これは私が探していたもののライン上にあり、あなたの投稿を読むでしょう。 – Anusha
しかし、MySQLで同じ機能を果たしている関数を使用してはいけませんか? – Anusha
必要に応じて関数を使用します。あなたは私が提供し、生産現場で証明されているより簡単なソリューションを求めました。 –