MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLは*を選択し、現在の日付のレコードを検索します


現在の日付には、CURDATE()を使用します。また、STR_TO_DATE()を使用して日付をフォーマットし、次の構文のように現在の日付と比較します-

構文

select *from yourTableName where str_to_date(yourColumnName,'yourFormatSpecifier')=curdate();

現在の日付が2019年10月27日だとします。

まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> JoiningDate varchar(40)
   -> );
Query OK, 0 rows affected (0.79 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('27/10/2017');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('27/10/2018');
Query OK, 1 row affected (0.78 sec)
mysql> insert into DemoTable values('27/10/2019');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('27/10/2020');
Query OK, 1 row affected (0.11 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示します-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+-------------+
| JoiningDate |
+-------------+
| 27/10/2017  |
| 27/10/2018  |
| 27/10/2019  |
| 27/10/2020  |
+-------------+
4 rows in set (0.00 sec)

以下は、現在の日付のレコードを比較して見つけるためのクエリです-

mysql> select *from DemoTable where str_to_date(JoiningDate,'%d/%m/%Y')=curdate();

これにより、次の出力が生成されます-

+-------------+
| JoiningDate |
+-------------+
| 27/10/2019  |
+-------------+
1 row in set (0.00 sec)

  1. MySQLで現在の日付よりも短い日付を選択するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable1877 ( DueDate datetime ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1877 values('2019-12-10'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1877 values

  2. MySQLで条件が満たされた場合に列を選択して、現在の日付と現在の日付+1からレコードをフェッチします

    まず、現在の日付を取得しましょう- mysql> select curdate(); これにより、次の出力が生成されます- +------------+ | curdate()  | +------------+ | 2019-12-15 | +------------+ 1 row in set (0.00 sec) まずテーブルを作成しましょう- mysql> create table DemoTable1956    (    ProductId int,    ProductName varchar(