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

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

    以下は、MariaDBの日付から曜日名を取得するために使用できる3つのアプローチです。

    これらのアプローチのうち2つは完全な日の名前を返し、1つは短い日の名前を返します。

    DAYNAME() 機能

    DAYNAME() 関数は、日付から曜日名を返すために特別に設計されています。関数を呼び出すときに日付を渡すだけで、完全な日の名前が返されます。

    例:

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

    結果:

    +-----------------------+
    | DAYNAME('2021-08-19') |
    +-----------------------+
    | Thursday              |
    +-----------------------+

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

    DATE_FORMAT() 機能

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

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

    例:

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

    結果:

    +---------------------------------+
    | DATE_FORMAT('2021-08-19', '%W') |
    +---------------------------------+
    | Thursday                        |
    +---------------------------------+

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

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

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

    結果:

    +------------------------------------------+
    | DATE_FORMAT('2021-08-19', '%W', 'ca_ES') |
    +------------------------------------------+
    | dijous                                   |
    +------------------------------------------+

    短い日の名前

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

    例:

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

    結果:

    +---------------------------------+
    | DATE_FORMAT('2021-08-19', '%a') |
    +---------------------------------+
    | Thu                             |
    +---------------------------------+

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

    例:

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

    結果:

    +--------------------------------+
    | LEFT(DAYNAME('2021-08-19'), 3) |
    +--------------------------------+
    | Thu                            |
    +--------------------------------+

    CAST()のような関数を使用しても同じ効果が得られます。 結果を3文字のデータ型に変換します。

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

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

    結果:

    +---------+-----------+--------------------------+
    | Short 1 | Short 2   | Full                     |
    +---------+-----------+--------------------------+
    | พฤ.     | พฤห       | พฤหัสบดี                   |
    +---------+-----------+--------------------------+

    1. MariaDBでのOCT()のしくみ

    2. 可用性グループ通信用の専用ネットワークの構成

    3. SQLServerクラスターをセットアップするための9つのヒント

    4. PostgreSQLデータベースの監視:監視対象のヒント