以下は、SQLを使用して主要なRDBMSの日付から短い月の名前を返す方法を示す例です。
MySQL
MySQLにはDATE_FORMAT()があります 日付から短い月の名前を返すために使用できる関数:
SELECT DATE_FORMAT('2030-02-01', '%b'); 結果:
Feb
月の名前に使用される言語は、lc_time_namesの値によって制御されます システム変数。詳細については、MySQLで現在の接続のロケールを設定する方法を参照してください。
短い月の名前を返すためのその他のオプションについては、MySQLで日付から短い月の名前を取得する方法を参照してください。
SQL Server
SQLServerでこれを行うにはいくつかの方法があります。 1つの方法は、FORMAT()を使用することです。 MMMで機能する フォーマット文字列として
DECLARE @date datetime2 = '2030-08-01';
SELECT FORMAT(@date, 'MMM') AS 'FORMAT'; 結果:
Aug
その他のオプションについては、SQLServerで日付から短い月の名前を取得する5つの方法を参照してください。
Oracle
Oracleで短い月の名前を取得するには、TO_CHAR(datetime)を使用します MONで機能する フォーマット要素:
SELECT TO_CHAR(DATE '2030-09-25', 'MON')
FROM DUAL; 結果:
SEP
結果の大文字化は、フォーマット文字列で使用される大文字化を反映します。詳細については、「Oracleの日付から短い月の名前を返す」を参照してください。
PostgreSQL
PostgreSQLにはTO_CHAR()もあります Oracleと同様に機能する機能:
SELECT TO_CHAR(TIMESTAMP '2020-12-16 10:41:35', 'Mon'); 結果:
Dec
詳細については、PostgreSQLでの短い月の名前の取得を参照してください。
MariaDB
MySQLと同様に、MariaDBにはDATE_FORMAT()があります %bを受け入れる関数 日付から短い月の名前を返すためのフォーマット文字列。
例:
SELECT DATE_FORMAT('2023-09-20', '%b'); 結果:
Sep
MariaDBバージョンとMySQLバージョンのDATE_FORMAT()の違いの1つ MariaDBは、ロケールを指定できる3番目の引数を受け入れます(MySQLは受け入れません)。これは、現在のセッションのロケールを変更することなく、MariaDBの関数内からロケールを指定できることを意味します。
詳細と例については、MariaDBの日付から短い月の名前を取得する方法を参照してください。