SQL Q&A

 

SQL Server で 翌月10日を取得する方法を教えてください。

isnull(convert(char(10),dateadd(month,1,(dateadd(day,9,DATE))),111),'') as DATE

↑これだと、DATE(月末)の翌月の9日後で、翌月10日も可能なのですが、

当然ながら、DATEが月末とは限らないので。。。

常に10日を固定で表示するにはどうしたら、よいのでしょうか?

よろしくお願いいたします。 

このエントリーをはてなブックマークに追加
2014-03-31 23:06:02   1453

コメント

2014年 04月 02日 (18:03)
こんにちは。
イノ(inno)です。

翌月10日を取得する時は下記のようにします。

DECLARE @Today DATETIME
SET @Today = GETDATE()

SELECT CONVERT(CHAR(7),DATEADD(MM,1,@Today), 111) + '/10'

これが一番簡単です。

@TodayにDATEADD(MM,1,@Today)をして翌月に移動します。
CONVERTを利用して'yyyy/MM/dd'形式に変換して前から7文字を切り取ります。
その後に'/10'をつけて'yyyy/MM/dd'に変更します。

上記の方法はSQL SERVERの全バージョンから使えます。
SQL SERVER 2012ならば「EOMONTH」を使って下記のように記述して取得することができます。

SELECT DATEADD(day, 10, EOMONTH(GETDATE()))

「EOMONTH」はSQL SERVER 2012以上から使えます。

SQL Server で 翌月10日を取得する方法を教えてください。  (1)

-.日付:2014-03-31   カテゴリ : -   閲覧数:1453

一時テーブルが存在するかチェックする方法を教えてください。  (1)

-.日付:2014-03-13   カテゴリ : -   閲覧数:1394

変数の使い方について質問です。  (5)

-.日付:2014-03-12   カテゴリ : -   閲覧数:1400

OUTER JOIN と TOP10との組み合わせ  (1)

-.日付:2014-03-10   カテゴリ : -   閲覧数:1427

ORDER BYについて質問です。  (2)

-.日付:2014-03-03   カテゴリ : -   閲覧数:1431

各テーブルのカウントを出力するSQL文を作成したいのですが  (2)

-.日付:2014-02-27   カテゴリ : -   閲覧数:1474

SQL SERVER 2008 で日付型のフォーマット設定を教えてください。  (2)

-.日付:2014-02-25   カテゴリ : -   閲覧数:1423

Copyright © 2015 INNOYA.COM All rights reserved. RSS