SQL Serverでは、T-SQLを使用して日付から月の名前を取得できるのと同じように、同じ方法を使用して日の名前を取得することもできます。日の名前は、月を意味します または火曜日 たとえば、日付番号や曜日の番号ではありません(必要に応じて取得することもできます)。
T-SQLを使用してSQLServerの日付から曜日名を返す3つの方法を次に示します。
FORMAT()関数
FORMAT()
関数は、指定された形式とオプションのカルチャでフォーマットされた値を返します。これを使用して、日付から曜日名を返すことができます。
次に例を示します:
DECLARE @date datetime2 = '2018-07-01'; SELECT FORMAT(@date, 'dddd') AS Result;
結果:
+----------+ | Result | |----------| | Sunday | +----------+
この場合、dddd
の形式を提供しました これは日の名前です。
ddd
を指定して、短い日の名前を取得することもできます 2番目の引数として:
DECLARE @date datetime2 = '2018-07-01'; SELECT FORMAT(@date, 'ddd') AS Result;
結果:
+----------+ | Result | |----------| | Sun | +----------+
カルチャを指定するためのオプションの引数を指定することもできます。
次にいくつかの例を示します。
DECLARE @date datetime2 = '2018-07-01'; SELECT FORMAT(@date, 'dddd', 'en-US') AS 'en-US', FORMAT(@date, 'dddd', 'es-es') AS 'es-es', FORMAT(@date, 'dddd', 'de-de') AS 'de-de', FORMAT(@date, 'dddd', 'zh-cn') AS 'zh-cn';
結果:
+---------+---------+---------+---------+ | en-US | es-es | de-de | zh-cn | |---------+---------+---------+---------| | Sunday | domingo | Sonntag | 星期日 | +---------+---------+---------+---------+
DATENAME()関数
DATENAME()
関数はDATEPART()
に似ています nameを返すことを除いて関数 指定された日付部分の(ただし、名前が該当する場合のみ)。つまり、必要に応じて、曜日の名前または月の名前が返されます。
日付の曜日コンポーネントを返す方法は次のとおりです。
DECLARE @date datetime2 = '2018-07-01'; SELECT DATENAME(weekday, @date) AS Result;
結果:
+----------+ | Result | |----------| | Sunday | +----------+
DAYNAME()ODBCスカラー関数
何らかの理由でODBCスカラー関数を使用する必要がある場合は、DAYNAME()
という関数があります。 具体的には、日付から曜日の名前を返します。
例:
DECLARE @date datetime2 = '2018-07-01'; SELECT {fn DAYNAME(@date)} AS Result;
結果:
+----------+ | Result | |----------| | Sunday | +----------+
T-SQLでODBCスカラー関数を使用する場合、それらは中括弧({}
)で囲まれます。 )、関数名の前にはfn
が付いています 。