【SQL Server】関数「GETDATE()」で設定される値は変数の型によって違う

結論

・GETDATE()で設定される値は変数の型によって違う
・DATE型の変数にGETDATE()の値を設定すると、「2020-02-25」となる
・DATETIME型の変数にGETDATE()の値を設定すると、「2020-02-25 23:55:14.953」となる

(追記)
GETDATE()の戻り値はDATETIME型。
https://docs.microsoft.com/ja-jp/sql/t-sql/functions/getdate-transact-sql?view=sql-server-ver15

GETDATE()の戻り値をDATE型の変数に設定すると、暗黙的な型変換が行われる。

サンプルプログラム

DECLARE
	@DATE DATE,
	@DATETIME DATETIME

SET @DATE = GETDATE()
SET @DATETIME = GETDATE()

SELECT 
	@DATE AS 'DATE型の変数の場合',
	@DATETIME AS 'DATETIME型の変数の場合'

結果

タイトルとURLをコピーしました