このSQLクエリの日付出力を次のようにフォーマットしようとしていますyyyy-mm-dd
(DATEADD(DAY,90,getdate()) output yyyy-mm-dd 00:00:00
削除する必要があります00:00:00
このSQLクエリの日付出力を次のようにフォーマットしようとしていますyyyy-mm-dd
(DATEADD(DAY,90,getdate()) output yyyy-mm-dd 00:00:00
削除する必要があります00:00:00
こちらをご覧ください
探しているフォーマットはこのパターンに従います
SELECT CONVERT(VARCHAR(10), GETDATE(), 120)
通常、CONVERT 形式 121 を使用すると、必要なものがすべて得られることがわかります。
SELECT CONVERT(varchar(10), getdate(), 121)
ほとんどの場合、MilDate と互換性のある並べ替え可能な日付文字列のみを使用するため、覚えておく必要があるスタイル番号は 121 だけです。
日付のみが必要な場合は、上記のようにVARCHAR
長さを 10 に制限します。
必要な場合はHH:MM:SS
、それを使用VARCHAR(19)
してラップしRIGHT(.., 8)
ます。
タイミング測定にミリ秒を含めたい場合は、VARCHAR(23) を使用してください。
文字列の長さとオフセットを思い出せない場合は、VARCHAR(MAX) を使用してください。
SELECT CONVERT(varchar(MAX), getdate(), 121)
次に、出力から数えて、長さとRIGHT(..)
必要なものを変更します。DateTime をフォーマットする必要があるたびに膨大なCAST And CONVERT
ドキュメント ページをくまなく調べなければならないよりもはるかに簡単です。
次のように、 DATE_FORMAT関数を使用します。
DATE_FORMAT(DATEADD(DAY,90,getdate()), '%Y-%m-%d');
を追加するだけですCONVERT
。このコードをテストします。
DECLARE @test DATE
SET @test = CONVERT(DATE, DATEADD(DAY, 90, GETDATE()))
SELECT @test
または、さらに簡単にテストできます:
SELECT CONVERT(DATE, DATEADD(DAY, 90, GETDATE()))
編集
@RBarryYoung がコメントしたように、実際には構成によっては、要求している日付形式とは異なる日付形式を返す場合があります。CONVERT
このケース番号 121 では、必要なスタイルを正確に指定して使用します。スタイリングと使用の詳細については、Microsoft BOLを確認してください。CONVERT
SELECT CONVERT(VARCHAR(10), GETDATE(), 121)
両方の戻り値:
2013-08-08