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

MariaDBの日付から月の名前を取得する3つの方法

    MariaDBの日付から月の名前を返す3つの方法があります。

    MONTHNAME() 機能

    MONTHNAME() 関数は、日付から月の名前を返すために特別に設計されています。これを行うには、関数を呼び出すときに関数に日付を渡します。完全な月の名前が返されます。

    例:

    SELECT MONTHNAME('2021-08-19');

    結果:

    +-------------------------+
    | MONTHNAME('2021-08-19') |
    +-------------------------+
    | August                  |
    +-------------------------+

    月の名前に使用される言語は、lc_time_namesの値によって制御されます システム変数。 MONTHNAME()を参照してください これが出力にどのように影響するかの例については。

    DATE_FORMAT() 機能

    DATE_FORMAT() 関数は、指定された日付を指定された形式にフォーマットします。関数を呼び出すときに、日付と形式を指定します。

    %Mを渡すと、完全な月の名前を返すことができます フォーマット文字列として。

    例:

    SELECT DATE_FORMAT('2021-08-19', '%M');

    結果:

    +---------------------------------+
    | DATE_FORMAT('2021-08-19', '%M') |
    +---------------------------------+
    | August                          |
    +---------------------------------+

    MONTHNAME()と同様 、月の名前に使用される言語は、lc_time_namesの値によって制御されます システム変数。ただし、DATE_FORMAT() 関数は、ロケールを指定できるオプションの3番目の引数を受け入れます。

    ロケールを指定する例は次のとおりです。

    SELECT DATE_FORMAT('2021-08-19', '%M', 'ca_ES');

    結果:

    +------------------------------------------+
    | DATE_FORMAT('2021-08-19', '%M', 'ca_ES') |
    +------------------------------------------+
    | agost                                    |
    +------------------------------------------+

    短い月の名前

    %bを渡す DATE_FORMAT()へ 関数は短い月の名前を返します。

    例:

    SELECT DATE_FORMAT('2021-08-19', '%b');

    結果:

    +---------------------------------+
    | DATE_FORMAT('2021-08-19', '%b') |
    +---------------------------------+
    | Aug                             |
    +---------------------------------+

    これは、MONTHNAME()で複製できます。 LEFT()を使用して関数 月の名前から最初の3文字を取得します。

    例:

    SELECT LEFT(MONTHNAME('2021-08-19'), 3);

    結果:

    +----------------------------------+
    | LEFT(MONTHNAME('2021-08-19'), 3) |
    +----------------------------------+
    | Aug                              |
    +----------------------------------+

    MONTHNAME()の結果を変換することで、同じ概念を実現できます。 CAST()のような関数を使用して3文字のデータ型に変換します 。

    ただし、このアプローチはen_USで機能しますが 、他の言語で常に機能するとは限りません。例:

    SET lc_time_names = 'th_TH';
    SELECT 
        DATE_FORMAT('2021-08-19', '%b') AS "Short 1",
        LEFT(MONTHNAME('2021-08-19'), 3) AS "Short 2",
        MONTHNAME('2021-08-19') AS "Full";

    結果:

    +----------+-----------+-----------------------+
    | Short 1  | Short 2   | Full                  |
    +----------+-----------+-----------------------+
    | ส.ค.     | สิง        | สิงหาคม                |
    +----------+-----------+-----------------------+


    1. SQL Serverトリガーは、新しい行から別のテーブルに値を挿入します

    2. カスタムデータベースアプリケーションのメリットはありますか?

    3. SQLServerログインのパスワードを変更する

    4. Pythonを使用してSQLServerデータベースにcsvファイルを書き込む