日付と年に基づいてSQLで膨大な計算が行われています。月に日付を追加すると、日数に基づいて追加されず、主に3ヶ月追加されます(その機能の機能)。DATEADD関数の問題
例えば、SELECT DATEADD(month, 4, '2016-10-25')
。これは私が何を期待しているのかを2017-02-25
と取り上げていますが、これを行うとDATEADD(month, 4, '2016-10-30')
となります。その取得2017-02-28。それは私が期待しているものではありません。私はこの機能が月を追加して、その月の最後の日に持っていくことを知っています。
この場合、出力が2016-02-30として表示されるようにするには、日付が存在しないことがわかっているため可能です。 2017-02-28の代わりに2017-03-01を返すようにプログラムすることは可能でしょうか。 (これは2月29日のようにうるう年に大きな問題になります)
本当にありがとうございます。ありがとうございました。
しかし、あなたが実際に望む結果になるためにこれを試してみてください?。あなたは代わりに日を追加したいかもしれませんが、28、他の30,31を持っているいくつかの月に対処しなければならないかもしれません.... – Lamak
なぜ月を追加しているのか、あなたは適切な答えを得ることができます – Tanner
'2016-02-30'は有効な日付ではありません。うるう年には29ユーロに戻りますが、それを試しましたか? 2016年は2017年ではなくうるう年です。私はそれが必要なものであれば、日々のアプローチに同意します。いくつかの月は31日連続している(7月と8月、12月と1月)ので、その機能を期待している場合、月は一貫性のある間隔のようには見えません。 – ps2goat