指定日の1ヶ月前の年月取得
2020-03-30 19:30
お世話になります。
現在SQLアクションで、
select
date_format(date_sub(CURRENT_DATE(),INTERVAL 1 MONTH),'%Y/%m') AS 年月
のように、指定日の1ヶ月前の年月を取得しようとしています。
(実際にはCURRENT_DATE()のところにはテーブルから取得した日付が入ります)
MySQLのワークベンチでは問題なく実行できるのですが、SQLアクションでは、
アクションセットの適用時に「SQLが正しくありません」とのエラーが表示されてしまい適用することができません。
何か別の方法はありますでしょうか。
回答を投稿するにはログインが必要です。
ご確認、ご回答ありがとうございます。
確かに、DATE_SUB()が原因でエラーとなっているようでした。
今回は=DATE(YEAR(Ax),MONTH(Ax),0)の方法で対応いたします。
アドバイスありがとうございました。
確かに、DATE_SUB()が原因でエラーとなっているようでした。
今回は=DATE(YEAR(Ax),MONTH(Ax),0)の方法で対応いたします。
アドバイスありがとうございました。
ベストアンサー
こんにちは。
いろいろ試してみましたが、DATE_SUB()、DATE_ADD()などは使えないようです。
表示だけで良いなら、SELECT CURRENT_DATE() AS A としておいて、例えばA列に日付が来ている場合は、表示用の列に=DATE(YEAR(Ax),MONTH(Ax),0)の式を埋めておくか、またはアクションセットで式の値をセットして、セルの書式設定を、日付「2020/03」としておけばよいと思います。
※:=DATE(YEAR(Ax),MONTH(Ax),0) 0は前月末日になります。xはデータの行
いろいろ試してみましたが、DATE_SUB()、DATE_ADD()などは使えないようです。
表示だけで良いなら、SELECT CURRENT_DATE() AS A としておいて、例えばA列に日付が来ている場合は、表示用の列に=DATE(YEAR(Ax),MONTH(Ax),0)の式を埋めておくか、またはアクションセットで式の値をセットして、セルの書式設定を、日付「2020/03」としておけばよいと思います。
※:=DATE(YEAR(Ax),MONTH(Ax),0) 0は前月末日になります。xはデータの行