Q&A

回答の並べ替え:
投稿新規に質問を投稿する

指定日の1ヶ月前の年月取得

49073 49073

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が正しくありません」とのエラーが表示されてしまい適用することができません。

何か別の方法はありますでしょうか。

49073 49073
ご確認、ご回答ありがとうございます。

確かに、DATE_SUB()が原因でエラーとなっているようでした。
今回は=DATE(YEAR(Ax),MONTH(Ax),0)の方法で対応いたします。
アドバイスありがとうございました。
Yexiongmao Yexiongmao
メダルベストアンサー
こんにちは。

いろいろ試してみましたが、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はデータの行