SQL ServerのCURRENT_DATEまたは現在の日付値関数とは何ですか?

SQLのようなDATE型として現在の日付を取得できるSQLServerの機能とは何ですか標準のCURRENT_DATE機能。SQLServerの<current date value function>とは何ですか。

PostgreSQLを使用して、探しています。たとえば、

SELECT CURRENT_DATE; current_date -------------- 2018-06-27 (1 row) 

回答

どちらの

GETDATE (戻りタイプ datetime )または SYSDATETIME (戻りタイプ datetime2 )、違いはSYSDATETIME()の最大ナノ秒の精度です。

例:

SELECT GETDATE() fn_GetDate, SYSDATETIME() fn_SysDateTime 

結果:

 fn_GetDate fn_SysDateTime 2018-06-27 10:31:18.963 2018-06-27 10:31:18.9659170

日付と時刻のデータ型と関数(Transact-SQL)


完全を期すために、SQL Serverは、質問で述べたようにCURRENT_DATE ODBCスカラー関数として認識します

SELECT {fn CURRENT_DATE()}; 

これはvarchar(10)を返すため、明示的なキャストまたは

date データタイプ:

SELECT CONVERT(date, {fn CURRENT_DATE()}); 

組み込み- ODBCスカラー関数よりもin関数をお勧めします。

回答

CAST (... to date) with GETDATE()またはSYSDATETIME()

最善の方法は

SELECT CAST( GETDATE() AS date ); 

SQL Serverの拡張機能により、SYSDATETIME()を現在までにキャストできます。

SELECT CAST( SYSDATETIME() AS date ); 

のドキュメント SYSDATETIME(Transact-SQL)にいくつかの例を示します

SELECT CONVERT (date, SYSDATETIME()) ,CONVERT (date, SYSDATETIMEOFFSET()) ,CONVERT (date, SYSUTCDATETIME()) ,CONVERT (date, CURRENT_TIMESTAMP) ,CONVERT (date, GETDATE()) ,CONVERT (date, GETUTCDATE()); /* All returned 2007-04-30 */ 

のように、CAST (GETDATE() AS date)には利点がある場合があります3d7313f “>

はネイティブに精度が低くなります。

コメント

  • これは私がいつも行ってきた方法ですが、キャストしている場合はDATEまで、入力時間がナノ秒の精度であるかどうかは重要ですか?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です