DATENAME (Transact-)SQL)

  • 07/29/2017
  • 3分で読める
    • c
    • j
    • r
    • M
    • M
    • +9

    に適用されます。 SQL Server (サポートされるすべてのバージョン) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Parallel Data Warehouse

    この関数は指定した日付部分の文字列を返します。

    すべての Transact-SQL 日付および時間データ型と関数の概要について、日付および時間データの型と関数 (Transact-SQL) を参照してください。

    Transact-SQL Syntax Conventions

    Syntax

    DATENAME ( datepart , date ) 

    SQLサーバー2014以前のTransact-SQL構文を表示するには、以前のバージョンの文書を参照してください。

    Arguments

    <893>datepart
    DATENAMEが返す日付引数の特定のパートを表わします。 この表は、すべての有効な datepart 引数をリストします。

    注意

    DATENAME は datepart 引数のためのユーザー定義の変数等価物を受け入れません。

    datepart Abbreviations
    year yy.YY.YY.YY.YY.YY.YY.YY.YY.YY.YY.YY.YY.YY.YY.YY, yyyy
    quarter qq, q
    month mm, m
    日、y
    日、d
    週、ww
    週日 dw.D,
    週, WK, WWD, 週日 dw.D。 W
    hh
    mi, N
    ss.など。 s
    ミリ秒 ms
    マイクロ秒 mcs
    ナノ秒 ns
    TZオフセット tz
    ISO_WEEK ISOWK.NET
    TZオフセット TZ オフセット TZ オフセット

    date

    以下のデータ型のいずれかに解決できる式です。

    • date
    • datetime
    • datetimeoffset
    • datetime2
    • smalldatetime
    • time

    日付に対して、DATENAMEでは列式、式、文字列リテラル、ユーザー定義変数が使用可能です。 曖昧さの問題を避けるために、4桁の年を使用してください。 1137>

    Return Type

    nvarchar

    Return Value

    • 各データ部とその省略形は同じ値を返します。

    戻り値は SET LANGUAGE で設定した言語環境とログイン時の Configure the default language Server Configuration Option によって決まります。 日付がいくつかの形式の文字列リテラルである場合、戻り値はSET DATEFORMATに依存します。 SET DATEFORMATは、dateが日付または時刻データ型の列式である場合、戻り値を変更しません。

    dateパラメータに日付データ型の引数がある場合、戻り値はSET DATEFIRSTで指定した設定によります。

    TZoffset datepart Argument

    datepart引数がTZoffset(tz)、date引数にタイムゾーンオフセットがなければ DATEADD 0が返されます。

    smalldatetime date Argument

    dateがsmalldatetimeの場合、DATENAMEは秒を00として返します。

    Default Returned for a date part That Is Not in the date Argument

    date引数のデータ型に指定されたdatepartがない場合、DATENAMEはdate引数にリテラル.

    があればその日付部分についてのみデフォルトを返します。 このステートメントはdatepartにdate part引数、dateにtime引数を持ち、DATENAME1900, January, 1, 1, Monday.

    SELECT DATENAME(year, '12:10:30.123') ,DATENAME(month, '12:10:30.123') ,DATENAME(day, '12:10:30.123') ,DATENAME(dayofyear, '12:10:30.123') ,DATENAME(weekday, '12:10:30.123'); 

    日付が変数またはテーブル列として指定され、その変数または列のデータ型が指定した日付部分を持たない場合、DATENAMEはエラー9810を返すことになる。 この例では、変数@tのデータ型はtimeです。 日付部分のyearがtimeデータ型に対して無効であるため、この例は失敗します。

    DECLARE @t time = '12:10:30.123'; SELECT DATENAME(year, @t); 

    Remarks

    以下の節でDATENAMEを使用します。

    • GROUP BY
    • HAVING
    • ORDER BY
    • SELECT <list>
    • WHERE

    SQL Serverでは、DATENAME は暗黙的に文字列リテラルを datetime2 タイプとして投げかけます。 つまり、DATENAMEは、日付が文字列として渡された場合、フォーマットYDMをサポートしません。 YDM 形式を使用するには、文字列を明示的に datetime または smalldatetime 型にキャストする必要があります。

    Examples

    この例では、指定された日付の日付部分を返します。 SELECT文のdatepart引数にテーブルから日付部分値を代入します。

    SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10');

    ここに結果セットがあります。

    週、 wk, ww

    マイクロ秒10

    datepart 戻り値
    年、yyy、yy 2007
    四半期、qq、q 4
    月。 mm, m 10月
    年の日, dy, y 303
    日、 dd, d 30 44
    週日, dw 火曜日
    時、hh 12
    分、n 15
    秒、SS、s 32
    ミリセカンド(*) ms 123
    マイクロ秒、mcs 123456
    ナノ秒、ns 123456700
    TZオフセット、tz +05.TZ +05.TZ
    +05.TZ オフセット、ms 123456700
    ISO_WEEK, ISOWK, ISOWW 44

    Azure Synapse Analytics and Parallel Data Warehouse

    この例では、指定の日付に該当する日付の部品を返しています。 SELECT文のdatepart引数にテーブルから日付部品の値を代入します。

    SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10'); 

    以下は結果セットです。

    週、 wk、 ww

    ウィークデイ, dw

    datepart 戻り値
    年、yyy、yy 2007
    四半期、qq、q 4
    月。 mm, m 10月
    年の日, dy, y 303
    日、 dd, d 30 44
    火曜日
    時、hh 12
    分、n 15
    秒、ss、s 32
    ミリセカンド(*) ms 123
    マイクロ秒、mcs 123456
    ナノ秒、ns 123456700
    TZオフセット、tz +05.TZ +05.TZ
    +05.TZ オフセット、tz +05.TZ オフセット10
    ISO_WEEK、ISOWK、ISOWW 44

    CAST および CONVERT (Transact-SQL)

    も参照してください。

コメントを残す

メールアドレスが公開されることはありません。