110

SQL Server 2008でGETDATE()を出力したいのですが、ミリ秒単位の時間が必要です(これはデバッグ目的であり、spの実行時間を見つけるためです)。

私はこの違いを見つけます

  • SELECT GETDATE()2011-03-15 18:43:44.100を返します
  • print GETDATE()2011年3月15日18:44を返します

SQLServerは印刷機能を自動的に型キャストすると思います。

このように日付を印刷する必要があります2011-03-15 18:43:44.100

ご協力いただきありがとうございます。

4

7 に答える 7

123

まず、SYSDATETIME()より正確なものを探している場合は、おそらく使用する必要があります。

データをミリ秒単位でフォーマットするには、を試してくださいCONVERT(varchar, SYSDATETIME(), 121)

その他の形式については、およびのMSDNページをCASTCONVERT確認してください。

于 2011-03-15T13:15:03.213 に答える
56
SELECT CONVERT( VARCHAR(24), GETDATE(), 113)

アップデート

PRINT (CONVERT( VARCHAR(24), GETDATE(), 121))
于 2011-03-15T13:15:02.763 に答える
47

SQL Server のバージョンが関数 FORMAT をサポートしている場合、次のようにすることができます。

select format(getdate(), 'yyyy-MM-dd HH:mm:ss.fff')
于 2016-01-08T14:04:42.017 に答える
15

これら2つは同じです:

Print CAST(GETDATE() as Datetime2 (3) )
PRINT (CONVERT( VARCHAR(24), GETDATE(), 121))

ここに画像の説明を入力

于 2015-08-12T13:29:53.243 に答える
1

フォローしてみてください

DECLARE @formatted_datetime char(23)
SET @formatted_datetime = CONVERT(char(23), GETDATE(), 121)
print @formatted_datetime
于 2011-03-15T13:15:56.227 に答える