MySQLには、日付から日、月、年などのさまざまな日付部分を取得できるようにするさまざまな関数があります。
DATE_FORMAT() 機能
DATE_FORMAT() 日付部分をすべて1つのフィールドに返したい場合は、この関数が最適です。
例:
SELECT DATE_FORMAT('2035-12-19', '%W, %D %M %Y'); 結果:
Wednesday, 19th December 2035
希望する結果であれば、短い日と月の名前だけを返すこともできます。
SELECT DATE_FORMAT('2035-12-19', '%a, %D %b %Y'); 結果:
Wednesday, 19th December 2035
または、日月番号を返すことができます:
SELECT DATE_FORMAT('2035-12-19', '%d/%c/%Y'); 結果:
19/12/2035
必要に応じて、各日付部分を独自のフィールドに返すこともできます。
SELECT
DATE_FORMAT('2035-12-19', '%d') AS Day,
DATE_FORMAT('2035-12-19', '%c') AS Month,
DATE_FORMAT('2035-12-19', '%Y') AS Year; 結果:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 19 | 12 | 2035 | +------+-------+------+
フォーマット文字列の作成に使用できるフォーマット指定子の詳細については、このフォーマット指定子の完全なリストを参照してください。
DATE_FORMAT() また、日と月の名前の言語を指定するために使用できるオプションのロケール引数を受け入れます。 MySQLのDATE_FORMAT()を参照してください 詳細の例。
EXTRACT() 機能
EXTRACT() 関数を使用すると、日付から指定された単位を抽出できます。したがって、これを使用して、日付から日、月、年(およびその他の単位)を抽出できます。
例:
SELECT
EXTRACT(DAY FROM '2035-12-19') AS Day,
EXTRACT(MONTH FROM '2035-12-19') AS Month,
EXTRACT(YEAR FROM '2035-12-19') AS Year; 結果:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 19 | 12 | 2035 | +------+-------+------+
特定の日付単位を返す関数
MySQLには、特定の日付単位を返す特定の関数もいくつかあります。
以下は、日付から日、月、年を返す関数のリストです。
DAYNAME() 機能
MySQLには、その日を返すための複数の関数があります。これは、その日を表す方法が複数あるためです。 MySQLは、曜日名、曜日番号、曜日、曜日などが必要かどうかを知る必要があります。
DAYNAME() 関数は平日の名前を返します:
SELECT DAYNAME('2035-12-19'); 結果:
Wednesday
DAYOFMONTH() 機能
DAYOFMONTH() 関数は月の日番号を返します。
例:
SELECT DAYOFMONTH('2035-12-19'); 結果:
19
DAY() 機能
DAY() 関数は実際にはDAYOFMONTH()の同義語です 機能。
例:
SELECT DAY('2035-12-19'); 結果:
19
予想どおり、DAYOFMONTH()と同じ結果になります 。
DAYOFWEEK() 機能
DAYOFWEEK() 関数は、ODBC標準(1)で指定されているように、日付の曜日インデックスを返します。 =日曜日、2 =月曜日、…、7 =土曜日)。
例:
SELECT DAYOFWEEK('2035-12-19'); 結果:
4
WEEKDAY()を参照してください さまざまなインデックスについては、以下をご覧ください。
WEEKDAY() 機能
WEEKDAY() 関数はDAYOFWEEK()に似ています 日付の週インデックスを返すという点で。違いは、異なるインデックス番号(0)を使用することです。 =月曜日、1 =火曜日、…6 =日曜日)。
例:
SELECT WEEKDAY('2035-12-19'); 結果:
2
DAYOFYEAR() 機能
DAYOFYEAR() 関数は、日付の年の日を1の範囲で返します。 366へ 。
例:
SELECT DAYOFYEAR('2035-12-19'); 結果:
353
MONTH() 機能
MONTH() 関数は、1の範囲の月を返します 12へ 1月から12月、または0 月の部分がゼロの日付の場合(0000-00-00など 。
例:
SELECT MONTH('2035-12-19'); 結果:
12
MONTHNAME() 機能
名前が示すように、MONTHNAME() 関数は月の名前を返します。名前に使用される言語は、lc_time_namesの値によって制御されます システム変数。
例:
SELECT MONTHNAME('2035-12-19'); 結果:
December
YEAR() 機能
YEAR() 関数は日付の年の部分を返します。
例:
SELECT YEAR('2035-12-19'); 結果:
2035