次の2つの関数を使用すると、MySQLの日付から月の名前を取得できます。
MONTHNAME()
機能
MONTHNAME()
関数は、日付から月の名前を返すために特別に設計されています。これを行うには、関数を呼び出すときに関数に日付を渡します。完全な月の名前が返されます。
例:
SELECT MONTHNAME('2030-10-25');
結果:
October
月の名前に使用される言語は、lc_time_names
の値によって制御されます システム変数。 MONTHNAME()
を参照してください これが出力にどのように影響するかの例の例。詳細については、MySQLで現在の接続のロケールを設定する方法も参照してください。
DATE_FORMAT()
機能
DATE_FORMAT()
関数は、指定された日付を指定された形式で返します。この関数を使用するには、関数を呼び出すときに日付と目的の形式を指定します。
%M
を渡すと、完全な月の名前を返すことができます フォーマット文字列として。
例:
SELECT DATE_FORMAT('2030-12-25', '%M');
結果:
December
月の名前に使用される言語は、lc_time_names
の値によって制御されます システム変数。
短い月の名前
%b
を渡す DATE_FORMAT()
へ 関数は短い月の名前を返します。
例:
SELECT DATE_FORMAT('2030-12-25', '%b');
結果:
December
これは、MONTHNAME()
で複製できます。 LEFT()
を使用して関数 月の名前から最初の3文字を取得します。
例:
SELECT LEFT(MONTHNAME('2030-12-25'), 3);
結果:
December
MONTHNAME()
の結果を変換することで、同じ概念を実現できます。 CAST()
のような関数を使用して3文字のデータ型に変換します 。
ただし、このアプローチはen_US
で機能しますが 、他の言語では必ずしも期待どおりに機能するとは限りません。例:
SET lc_time_names = 'th_TH';
SELECT
DATE_FORMAT('2030-12-25', '%b') AS "Short 1",
LEFT(MONTHNAME('2030-12-25'), 3) AS "Short 2",
MONTHNAME('2030-12-25') AS "Full";
結果:
+----------+-----------+-----------------------+ | Short 1 | Short 2 | Full | +----------+-----------+-----------------------+ | ธ.ค. | ธัน | ธันวาคม | +----------+-----------+-----------------------+