DATENAME() 関数は、日付の特定の日付部分を表す、navarchar タイプの文字列を返します。
DATENAME()は日付部分を文字列で返し、DATEPART()は日付部分を整数で返します。
SYNTAX
DATENAME (datepart, inputdate)datepartは抽出する日付の部分です。
inputdate は日付部分を抽出する日付です。
SQLのDATENAME関数の例を見てみましょう。
次のステートメントはDATENAME関数を使って、与えられた日付 ‘2018-03-27 18:23:45から日付部分を抽出しています。470’
DECLARE @date DATETIME = '2018-03-27 18:23:45.470';SELECT DATENAME(year, @date) as year,DATENAME(quarter, @date) as quarter,DATENAME(month, @date) as month,DATENAME(day, @date) as day,DATENAME(dayofyear ,@date) as dayofyear,DATENAME(Week ,@date) as week,DATENAME(hour, @date) as hour,DATENAME(minute, @date) as minute,DATENAME(second, @date) as second ,DATENAME(millisecond, @date) as millisecond ,DATENAME(microsecond, @date) as microsecond ,DATENAME(nanosecond, @date) as nanosecondご覧のように、四半期、月、日、年、週、時間、分、秒、ミリ秒、マイクロ秒、ナノ秒などの日付のすべての部分が返されます。
したがって、DATENAME関数を使用すると、日付の任意の部分を取得できます。
以下は、要件に従って日付の部分を取得するために使用できる有効な日付部分リストです。
day d, dd month m, mmyear yy, yyyyquarter qq, qhour hhminute mi, nsecond ss, smillisecond msmicrosecond mcsnanosecond nsweek wk, wwdayofyear dy, yDATEPART VS DATENAME
DATEPARTは、DATENAMEがデータ型文字列を返すのに対し、整数値として日付の一部を返す例について見てみましょう。
そのため、DATEPART が返す結果に数値を追加すると、DATENAME が返す結果に数値を追加する代わりに、数値と結果を連結して、修正された結果を返します。
例を見てみましょう。次のステートメントでは、与えられた日付について、DATEPARTとDATENAME関数が返す結果に値2を追加しようとしているのがわかります。
DATEPART関数が結果に2を追加し、DATENAMEが結果に2を連結した最終結果を見ることができます。
DECLARE @date DATETIME = '2018-03-27 18:23:45.470';SELECT DATENAME(month, @date) + '2' as month_from_DateName, DATEPART(month, @date) + '2' as month_from_DatePart SELECT DATENAME(year, @date) + '2' as year_from_DateName, DATEPART(year, @date) + '2' as year_from_DatePart,あなたにおすすめ
SQL Server DATEPART()
325 total views, 3 views today
…