SQL Server 日付から日だけを取得する

SQL Server 日付から日だけを取得する

SQL Serverで、日付から日だけを取得する手順を記述してます。

環境

  • OS windows10 pro
  • SQL server 2019
  • SSMS 18.7.1

日付から日だけを取得

日付から日だけを取得場合は、「DATENAME」に「day」を指定します。

DATENAME(day, 日付)

実際に、日付から日だけを取得してみます。

DECLARE @t1 datetime = N'2000-01-01 00:00:00'
DECLARE @t2 datetime = N'2000-01-02 00:00:00'

SELECT DATENAME(day, @t1),
       DATENAME(day, @t2)

実行結果

日だけが取得されていることが確認できます。

「DAY」を使用しても結果は同じです。

DECLARE @t1 datetime = N'2000-01-01 00:00:00'
DECLARE @t2 datetime = N'2000-01-02 00:00:00'

SELECT DAY(@t1),
       DAY(@t2)

実行結果

月だけなら「month」、年だけなら「year」を使用します。

実行結果

数値化して取得

数値化して取得する場合は、「DATEPART」を使用します。

DECLARE @t1 datetime = N'2000-01-01 00:00:00'

SELECT DATEPART(month, @t1)

実行結果