-3

このSQLクエリの日付出力を次のようにフォーマットしようとしていますyyyy-mm-dd

(DATEADD(DAY,90,getdate()) output yyyy-mm-dd 00:00:00

削除する必要があります00:00:00

4

4 に答える 4

4

こちらをご覧ください

探しているフォーマットはこのパターンに従います SELECT CONVERT(VARCHAR(10), GETDATE(), 120)

于 2013-05-10T15:45:31.150 に答える
3

通常、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 ドキュメント ページをくまなく調べなければならないよりもはるかに簡単です。

于 2013-05-10T15:44:46.630 に答える
1

次のように、 DATE_FORMAT関数を使用します。

DATE_FORMAT(DATEADD(DAY,90,getdate()), '%Y-%m-%d');
于 2013-05-10T15:44:49.023 に答える
0

を追加するだけです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
于 2013-05-10T15:44:01.130 に答える