sql >> データベース >  >> RDS >> Mysql

2MySQLの日付から月の名前を返す関数

    次の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                  |
    +----------+-----------+-----------------------+
    | ธ.ค.     | ธัน        | ธันวาคม                |
    +----------+-----------+-----------------------+

    1. 指定された名前の列を含むすべてのテーブルを検索します-MSSQLServer

    2. MySQL挿入コマンドと例を含むT-SQLクエリ構文

    3. SQLServerでのデータ圧縮の概要

    4. SQL ServerでのSIGN()の例