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

DateTimeフィールドの時間部分を無視してMySQLの日付を比較しますか?


日時フィールドの時間部分を除くMySQLの日付を比較するには、DATE()関数を使用できます。構文は次のとおりです-

select *from yourTableName where date(yourColumName) = yourDate;

上記の概念を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table ComparingDate
   −> (
   −> Name varchar(100),
   −> Login datetime
   −> );
Query OK, 0 rows affected (0.50 sec)

これで、insertコマンドを使用してテーブルにいくつかのレコードを挿入できます。クエリは次のとおりです-

mysql> insert into ComparingDate values('John','2014-04-06 22:50:45');
Query OK, 1 row affected (0.15 sec)

mysql> insert into ComparingDate values('Bob','2018-12-15 15:07:46');
Query OK, 1 row affected (0.14 sec)

mysql> insert into ComparingDate values('Carol','2016-03-10 21:50:40');
Query OK, 1 row affected (0.18 sec)

mysql> insert into ComparingDate values('David','1995-08-08 23:40:47');
Query OK, 1 row affected (0.14 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from ComparingDate;

以下は出力です-

+-------+---------------------+
| Name  | Login               |
+-------+---------------------+
| John  | 2014-04-06 22:50:45 |
| Bob   | 2018-12-15 15:07:46 |
| Carol | 2016-03-10 21:50:40 |
| David | 1995-08-08 23:40:47 |
+-------+---------------------+
4 rows in set (0.00 sec)

これは、時刻ではなく日付のみを比較するクエリです-

mysql> select *from ComparingDate where date(Login) = '2016-03-10';

以下は出力です-

+-------+---------------------+
| Name  | Login               |
+-------+---------------------+
| Carol | 2016-03-10 21:50:40 |
+-------+---------------------+
1 row in set (0.00 sec)

  1. MySQLの時間レコードを無視して、日付のみを変更します

    時間ではなく日付のみを変更するには、MySQLINTERVALとYEARを使用します。レコードを更新するので、UPDATEを使用し、INTERVALで新しい値を設定します。 例を見て、テーブルを作成しましょう- mysql> create table DemoTable (    DueDate datetime ); Query OK, 0 rows affected (0.56 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('2017-08-1

  2. MySQLでcharフィールドをdatetimeフィールドに変換する方法は?

    まず、テーブルを作成しましょう。ここでは、char型で日付を宣言しています- mysql> create table DemoTable1472    -> (    -> ShippingDate char(35)    -> ); Query OK, 0 rows affected (0.46 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1472 values('12/31/2017 10:50'