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

異なるMySQL列の日付と時刻を組み合わせてDateTime全体と比較するにはどうすればよいですか?


CONCAT()関数を使用して、さまざまなMySQL列の日付と時刻を組み合わせて、日時全体と比較できます。構文は次のとおりです-

SELECT *FROM yourTableName WHERE CONCAT(yourDateColumnName,'',yourTimeColumnName) > 'yourDateTimeValue';

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

mysql> create table DifferentDateTime
    -> (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ArrivalDate date,
    -> ArrivalTime time
    -> );
Query OK, 0 rows affected (1.53 sec)

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

mysql> insert into DifferentDateTime(ArrivalDate,ArrivalTime) values(curdate(),'10:27:30');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DifferentDateTime(ArrivalDate,ArrivalTime) values('2016-04-24','15:00:00');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DifferentDateTime(ArrivalDate,ArrivalTime) values('2015-12-25','12:30:30');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DifferentDateTime(ArrivalDate,ArrivalTime) values('2012-01-31','16:00:30');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DifferentDateTime(ArrivalDate,ArrivalTime) values('2000-07-12','09:45:31');
Query OK, 1 row affected (0.11 sec)

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

mysql> select *from DifferentDateTime;

出力

+----+-------------+-------------+
| Id | ArrivalDate | ArrivalTime |
+----+-------------+-------------+
|  1 |  2019-02-14 |    10:27:30 |
|  2 |  2016-04-24 |    15:00:00 |
|  3 |  2015-12-25 |    12:30:30 |
|  4 |  2012-01-31 |    16:00:30 |
|  5 |  2000-07-12 |    09:45:31 |
+----+-------------+-------------+
5 rows in set (0.00 sec)

これは、異なる列の日付と時刻を組み合わせて、日時の値と比較するためのクエリです-

mysql> select *from DifferentDateTime where concat(ArrivalDate,'',ArrivalTime) > '2007-01-31 12:30:30';

出力

+----+-------------+-------------+
| Id | ArrivalDate | ArrivalTime |
+----+-------------+-------------+
|  1 |  2019-02-14 |    10:27:30 |
|  2 |  2016-04-24 |    15:00:00 |
|  3 |  2015-12-25 |    12:30:30 |
|  4 |  2012-01-31 |    16:00:30 |
+----+-------------+-------------+
4 rows in set (0.00 sec)

  1. MySQLで同じ列から異なる値を選択し、それらを異なる列に表示するにはどうすればよいですか?

    条件に基づいて異なる値を選択するには、CASEステートメントを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Name varchar(40), Score int ) ; Query OK, 0 rows affected (0.54 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable(Name,S

  2. MySQLで異なる日付形式で同じテーブルに日付レコードを挿入するにはどうすればよいですか?

    このために、INSERTINTOSELECTステートメントを使用できます。日付をフォーマットするには、DATE_FORMAT()関数を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> DateOfJoining datetime,    -> JoiningDate text    -> ); Query OK, 0 rows affected (0.79 sec) 挿入コマンド-を使用して、テーブルに