Share via


DATENAME (Transact-SQL)

更新 : 2006 年 7 月 17 日

指定された日付について、特定の日付要素を文字列で返します。

ms174395.note(ja-jp,SQL.90).gif重要 :
この機能は以前のバージョンの SQL Server から変更されました。詳細については、「SQL Server 2005 におけるデータベース エンジン機能の動作の変更」を参照してください。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

DATENAME ( datepart ,date )

引数

  • datepart
    返す対象となる日付要素を指定するパラメータです。次の表は、日付の構成要素と Microsoft SQL Server 2005 で認識される省略形です。

    datepart 省略形

    year

    yy, yyyy

    quarter

    qq, q

    month

    mm, m

    dayofyear

    dy, y

    day

    dd, d

    week

    wk, ww

    weekday

    dw

    hour

    hh

    minute

    mi, n

    second

    ss, s

    millisecond

    ms

    日付要素 weekday (dw) は、曜日の名前 (日曜、月曜など) を返します。

  • date
    datetime 型または smalldatetime 型の値を返す、または日付形式の文字列を指定します。1753 年 1 月 1 日以降の日付には datetime 型を使用し、それ以前の日付は文字データとして保存します。datetime 型の値を入力するときは、その値を常に引用符で囲みます。smalldatetime の精度は分単位なので、smalldatetime 型の値を使用する場合、秒とミリ秒は常に 0 になります。日付を指定する方法の詳細については、「日付と時刻 (Transact-SQL)」を参照してください。時間値を指定する方法の詳細については、「時刻形式」を参照してください。

    年を下 2 桁のみで指定した場合、その数値が two-digit year cutoff 構成オプションに指定されている終了年の下 2 桁の数値以下であれば、終了年と同じ世紀であると見なされます。終了年の下 2 桁の数値より大きい場合は、終了年の世紀の前の世紀であると見なされます。たとえば、two-digit year cutoff が 2049 (既定) であるとすると、49 は 2049 と認識され、50 は 1950 と認識されます。こうしたあいまいさを排除するため、4 桁の西暦を使用してください。

戻り値の型

nvarchar

解説

SQL Server 2005 データベース エンジンでは、たとえば、文字型の値と datetime 型の値を比較するような場合、必要に応じて自動的に文字型と datetime 型の間の変換が行われるようになっています。

次の例では、GETDATE で返される日付から月の名前を取得します。

SELECT DATENAME(month, GETDATE()) AS 'Month Name';

以下に結果セットを示します。

Month Name

------------------------------

February

次の例では、列から月名を抽出します。

USE AdventureWorks;
GO
SELECT StartDate, DATENAME(month,StartDate) AS StartMonth
FROM Production.WorkOrder
WHERE WorkOrderID = 1;
GO

以下に結果セットを示します。

StartDate StartMonth

-------------------------------- ------------

2001-07-04 00:00:00.000 July

次の例では、各 datepart 引数を 'YYYY-MM-DDTHH:MM:SS.xxx' 形式の date 引数と共に示します。

SELECT DATENAME(year,'1995-10-30 12:15:32.123');
SELECT DATENAME(yy,'1995-10-30 12:15:32.123');
SELECT DATENAME(yyyy,'1995-10-30 12:15:32.123');
-- Return: 1995

SELECT DATENAME(quarter,'1995-10-30 12:15:32.123');
SELECT DATENAME(qq,'1995-10-30 12:15:32.123');
SELECT DATENAME(q,'1995-10-30 12:15:32.123');
-- Return: 4

SELECT DATENAME(month,'1995-10-30 12:15:32.123');
SELECT DATENAME(mm,'1995-10-30 12:15:32.123');
SELECT DATENAME(m,'1995-10-30 12:15:32.123');
-- Return: October

SELECT DATENAME(dayofyear,'1995-10-30 12:15:32.123');
SELECT DATENAME(dy,'1995-10-30 12:15:32.123');
SELECT DATENAME(y,'1995-10-30 12:15:32.123');
-- Return: 303

SELECT DATENAME(day,'1995-10-30 12:15:32.123');
SELECT DATENAME(dd,'1995-10-30 12:15:32.123');
SELECT DATENAME(d,'1995-10-30 12:15:32.123');
-- Return: 30

SELECT DATENAME(week,'1995-10-30 12:15:32.123');
SELECT DATENAME(wk,'1995-10-30 12:15:32.123');
SELECT DATENAME(ww,'1995-10-30 12:15:32.123');
-- Return: 44

SELECT DATENAME(weekday,'1995-10-30 12:15:32.123');
SELECT DATENAME(dw,'1995-10-30 12:15:32.123');
-- Return: Monday

SELECT DATENAME(hour,'1995-10-30 12:15:32.123');
SELECT DATENAME(hour,'1995-10-30 12:15:32.123');
SELECT DATENAME(hh,'10/30/1995 12:15:32.123 PM');
SELECT DATENAME(hh,'10/30/1995 12:15:32.123 PM');
-- Return: 12

SELECT DATENAME(minute,'1995-10-30 12:15:32.123');
SELECT DATENAME(mi,'1995-10-30 12:15:32.123');
SELECT DATENAME(n,'1995-10-30 12:15:32.123');
-- Return: 15
 
SELECT DATENAME(second,'1995-10-30 12:15:32.123');
SELECT DATENAME(ss,'1995-10-30 12:15:32.123');
SELECT DATENAME(s,'1995-10-30 12:15:32.123');
-- Return: 32

SELECT DATENAME(millisecond,'1995-10-30 12:15:32.123');
SELECT DATENAME(ms,'1995-10-30 12:15:32.123');
-- Return: 123

変更履歴

リリース 履歴

2006 年 7 月 17 日

追加内容 :
  • 例を追加しました。

参照

関連項目

CAST および CONVERT (Transact-SQL)
データ型 (Transact-SQL)
日付と時刻関数 (Transact-SQL)

その他の技術情報

ISO 8601 形式
アルファベット日付形式
数値日付形式
ODBC 日付時刻形式
時刻形式
区切りのない文字列形式

ヘルプおよび情報

SQL Server 2005 の参考資料の入手