ほとんどの主要なRDBMSは、日付から月の名前を返すことを可能にする関数を少なくとも1つ提供します。
MySQL
MySQLにはMONTHNAME()
があります 日付から月の名前を返すように特別に設計された関数:
SELECT MONTHNAME('2030-12-25');
結果:
December
MySQLにはDATE_FORMAT()
もあります 同じ効果を達成できる機能。
月の名前に使用される言語は、lc_time_names
の値によって制御されます システム変数。詳細については、MySQLで現在の接続のロケールを設定する方法を参照してください。
短い月の名前を返す方法など、両方の関数の例については、MySQLの日付から月の名前を返す2つの関数を参照してください。
SQL Server
SQLServerでこれを行うにはいくつかの方法があります。 1つの方法は、DATENAME()
を使用することです。 month
で機能する 最初の引数として:
SELECT DATENAME(month, '2030-09-01');
結果:
September
このコードは、T-SQLをサポートするすべてのDBMSで機能します。たとえば、WindowsAzureSQLデータベースとAzureSQLEdgeで使用できます。
その他のオプションについては、SQLServerで日付から月の名前を取得する3つの方法を参照してください。これには、FORMAT()
が含まれます 月の名前の言語を指定できる関数。
Oracle
Oracleで完全な月の名前を取得するには、TO_CHAR(datetime)
を使用します MONTH
で機能する フォーマット要素:
SELECT TO_CHAR(DATE '2035-10-03', 'MONTH')
FROM DUAL;
結果:
OCTOBER
その他のオプションについては、Oracleで日付から月の名前を取得する方法を参照してください。
PostgreSQL
PostgreSQLにはTO_CHAR()
もあります Oracleと同様に機能する機能:
SELECT TO_CHAR(TIMESTAMP '2020-12-16 10:41:35', 'Month');
結果:
December
その他のオプションについては、PostgreSQLの日付から月の名前を取得するを参照してください。
MariaDB
MySQLと同様に、MariaDBにはMONTHNAME()
の両方があります 関数とDATE_FORMAT()
働き。
後者の例を次に示します。
SELECT DATE_FORMAT('2021-08-19', '%M');
結果:
August
MariaDBバージョンとMySQLバージョンのDATE_FORMAT()
の違いの1つ MariaDBは、ロケールを指定できる3番目の引数を受け入れます(MySQLは受け入れません)。これは、現在のセッションのロケールを変更することなく、MariaDBの関数内からロケールを指定できることを意味します。
その他の例については、MariaDBの日付から月の名前を取得する3つの方法を参照してください。