MySQLの日付フィールドと日と月のみを比較しますか?
DATE_FORMAT()を使用すると、MySQLの日付フィールドと日と月のみを比較できます。
構文は次のとおりです
select *from yourTableName WHERE DATE_FORMAT(yourColumnName, '%m-%d') = DATE_FORMAT('yourValue', '%m-%d') and yourCondition;
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです
mysql> create table compareDayAndMonthDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> compareDayAndTime date -> ); Query OK, 0 rows affected (0.49 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。
クエリは次のとおりです
mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2014-01-31'); Query OK, 1 row affected (0.20 sec) mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2014-10-11'); Query OK, 1 row affected (0.16 sec) mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2016-09-12'); Query OK, 1 row affected (0.08 sec) mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2017-04-25'); Query OK, 1 row affected (0.08 sec) mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2018-12-25'); Query OK, 1 row affected (0.08 sec) mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2019-02-27'); Query OK, 1 row affected (0.07 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示します。
クエリは次のとおりです
mysql> select *from compareDayAndMonthDemo;
以下は出力です
+----+-------------------+ | Id | compareDayAndTime | +----+-------------------+ | 1 | 2014-01-31 | | 2 | 2014-10-11 | | 3 | 2016-09-12 | | 4 | 2017-04-25 | | 5 | 2018-12-25 | | 6 | 2019-02-27 | +----+-------------------+ 6 rows in set (0.00 sec)
これが日と月だけを比較するためのクエリです
mysql> select *from compareDayAndMonthDemo -> WHERE DATE_FORMAT(compareDayAndTime, '%m-%d') = DATE_FORMAT('2019-01-31', '%m-%d') and Id=1;
以下は出力です
+----+-------------------+ | Id | compareDayAndTime | +----+-------------------+ | 1 | 2014-01-31 | +----+-------------------+ 1 row in set (0.00 sec)
日と月のみが必要な場合は、以下のクエリを使用してください
mysql> select DATE_FORMAT(compareDayAndTime, '%m-%d') AS DayAndMonthOnly from compareDayAndMonthDemo -> WHERE DATE_FORMAT(compareDayAndTime, '%m-%d') = DATE_FORMAT('2019-01-31', '%m-%d') and Id=1;
以下は出力です
+-----------------+ | DayAndMonthOnly | +-----------------+ | 01-31 | +-----------------+ 1 row in set (0.00 sec)
-
MySQLで現在の日付と月を比較する日付レコードを取得します
これには、MONTH()とDAY()を使用します。まず、-を作成しましょう mysql> create table DemoTable1429 -> ( -> AnniversaryDate date -> ); insert-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1429 values('2019-09-29'); Query OK, 1 row affected (0.09 sec) mysql
-
曜日を含む日付レコードを減算し、レコードを含む曜日を表示するMySQLクエリ
これには、DATE_FORMAT()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1820 ( AdmissionDate varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1820 values('20/10/2019