MariaDBには、日付を操作するための多くの関数が含まれています。これらのいくつかは、そのような日付から特定の部分を抽出し、それらを文字列または整数として返します。
以下は、MariaDBでさまざまな日付部分を返すために使用できる11の関数です。
機能
まず、関数は次のとおりです。
-
DATE_FORMAT()
-
EXTRACT()
-
DAYNAME()
- DAYOFMONTH()
-
DAY()
-
DAYOFWEEK()
-
WEEKDAY()
-
DAYOFYEAR()
-
MONTH()
-
MONTHNAME()
-
YEAR()
以下は各機能の例です。
DATE_FORMAT()
機能
DATE_FORMAT()
関数を使用すると、フォーマット文字列に基づいて日付をフォーマットできます。 format文字列は、日付のフォーマット方法を指定します。 1つ以上のフォーマット指定子に基づいて独自のフォーマット文字列を作成します。
DATE_FORMAT()
の使用例を次に示します。 日付から日、月、年を返すには:
SELECT DATE_FORMAT('2023-07-25', '%W, %D %M %Y');
結果:
+-------------------------------------------+ | DATE_FORMAT('2023-07-25', '%W, %D %M %Y') | +-------------------------------------------+ | Tuesday, 25th July 2023 | +-------------------------------------------+
この関数の良いところは、日付の多くのバリエーションを返すことができることです。たとえば、短い日と月の名前だけを返すことができます:
SELECT DATE_FORMAT('2023-07-25', '%a, %D %b %Y');
結果:
+-------------------------------------------+ | DATE_FORMAT('2023-07-25', '%a, %D %b %Y') | +-------------------------------------------+ | Tue, 25th Jul 2023 | +-------------------------------------------+
または、日月番号を返すことができます:
SELECT DATE_FORMAT('2023-07-25', '%d/%c/%Y');
結果:
+---------------------------------------+ | DATE_FORMAT('2023-07-25', '%d/%c/%Y') | +---------------------------------------+ | 25/7/2023 | +---------------------------------------+>
フォーマット文字列の作成に使用できるフォーマット指定子の詳細については、このフォーマット指定子の完全なリストを参照してください。
DATE_FORMAT()
また、日と月の名前の言語を指定するために使用できるオプションのロケール引数を受け入れます。非常に柔軟な機能です。 DATE_FORMAT()
を参照してください その他の例については。
EXTRACT()
機能
関数を使用すると、日付から指定された単位を抽出できます。したがって、これを使用して、日付から日、月、年(およびその他の単位)を抽出できます。EXTRACT
()
例:
SELECT
EXTRACT(DAY FROM '2023-07-25') AS Day,
EXTRACT(MONTH FROM '2023-07-25') AS Month,
EXTRACT(YEAR FROM '2023-07-25') AS Year;
結果:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 25 | 7 | 2023 | +------+-------+------+
特定の日付単位を返す関数
MariaDBには、特定の日付単位を返す、より具体的な関数も多数あります。
以下は、日付から日、月、年を返す関数のリストです。
DAYNAME()
機能
MariaDB(および他のほとんどのDBMS)には、その日を返すための関数がかなりあります。これは、MariaDBが、曜日の名前、曜日番号、曜日、曜日などが必要かどうかを知る必要があるためです。
DAYNAME()
関数は平日の名前を返します。
例:
SELECT DAYNAME('2023-07-25');
結果:
+-----------------------+ | DAYNAME('2023-07-25') | +-----------------------+ | Tuesday | +-----------------------+
DAYOFMONTH()
機能
DAYOFMONTH()
関数は月の日番号を返します。
例:
SELECT DAYOFMONTH('2023-07-25');
結果:
+--------------------------+ | DAYOFMONTH('2023-07-25') | +--------------------------+ | 25 | +--------------------------+
DAY()
機能
DAY()
関数は実際にはDAYOFMONTH()
の同義語です 機能。
例:
SELECT DAY('2023-07-25');
結果:
+-------------------+ | DAY('2023-07-25') | +-------------------+ | 25 | +-------------------+
予想どおり、DAYOFMONTH()
と同じ結果になります 。
DAYOFWEEK()
機能
DAYOFWEEK()
関数は、ODBC標準(1
)で指定されているように、日付の曜日インデックスを返します。 =日曜日、2
=月曜日、…、7
=土曜日)。
例:
SELECT DAYOFWEEK('2023-07-25');
結果:
+-------------------------+ | DAYOFWEEK('2023-07-25') | +-------------------------+ | 3 | +-------------------------+
WEEKDAY()
を参照してください さまざまなインデックスについては、以下をご覧ください。
WEEKDAY()
機能
WEEKDAY()
関数はDAYOFWEEK()
に似ています 日付の週インデックスを返すという点で。違いは、異なるインデックス番号(0
)を使用することです。 =月曜日、1
=火曜日、…6
=日曜日)。
例:
SELECT WEEKDAY('2023-07-25');
結果:
+-----------------------+ | WEEKDAY('2023-07-25') | +-----------------------+ | 1 | +-----------------------+
DAYOFYEAR()
機能
DAYOFYEAR()
関数は、日付の年の日を1
の範囲で返します。 366
へ 。
例:
SELECT DAYOFYEAR('2023-07-25');
結果:
+-------------------------+ | DAYOFYEAR('2023-07-25') | +-------------------------+ | 206 | +-------------------------+
MONTH()
機能
MONTH()
関数は、1
の範囲の月を返します 12
へ 1月から12月、または0
月の部分がゼロの日付の場合(0000-00-00
など 。
例:
SELECT MONTH('2023-07-25');
結果:
+---------------------+ | MONTH('2023-07-25') | +---------------------+ | 7 | +---------------------+
MONTHNAME()
機能
名前が示すように、MONTHNAME()
関数は月の名前を返します。名前に使用される言語は、lc_time_names
の値によって制御されます システム変数。
例:
SELECT MONTHNAME('2023-07-25');
結果:
+-------------------------+ | MONTHNAME('2023-07-25') | +-------------------------+ | July | +-------------------------+
YEAR()
機能
YEAR()
関数は日付の年の部分を返します。
例:
SELECT YEAR('2023-07-25');
結果:
+--------------------+ | YEAR('2023-07-25') | +--------------------+ | 2023 | +--------------------+