SQL道場 日付時刻関数 DATENAME関数

SQLで日付要素を文字列で取得するDATENAME関数について記載しています。

対応データベース:SQLServer

DATENAME関数の文法

SELECT DATENAME(日付要素(datepart),日付) FROM テーブル
引数日付要素日付型
日付文字列型
返値nvarchar 日付要素が文字列で戻ります。
次のいずれかのデータ型に解決できる式。
・date
・datetime
・datetimeoffset
・datetime2
・smalldatetime
・time
date の場合、DATENAME では、列式、式、文字列リテラル、ユーザー定義の変数が受け入れられます。
あいまいさの問題を排除するために、4 桁の西暦を使用してください。
2 桁の西暦については、「two digit year cutoff サーバー構成オプションの構成」を参照してください。

DATENAME関数は指定された日付の日付要素を文字列で戻します。SQL Server , 、DATENAME は、文字列リテラルを暗黙的にキャスト、 datetime2 型です。 つまり、DATENAME では、日付が文字列として渡される場合、YDM 形式がサポートされません。 文字列を明示的にキャストする必要があります、 datetime または smalldatetime YDM 形式を使用する型。

マイクロソフト公式

日付要素

和名datepart省略形
yearyy、yyyy
四半期quarterqq, q
monthmm, m
年始からの日数dayofyeardy、y
daydd, d
weekwk、ww
曜日weekdaydw、w
hourhh
minutemi、n
secondss, s
ミリ秒millisecondms
マイクロ秒microsecondmcs
ナノ秒nanosecondns
タイム ゾーン オフセットTZoffsettz
ISO_WEEKISOWK、ISOWW

実行例

SQLServerの実行例

/* SQLServer 現在の日付と時刻を取得するサンプル */
SELECT DATENAME(WEEKDAY,'04-01-15');
DATENAME関数サンプル実行結果