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

MySQL Selectでタイムスタンプの日付範囲を取得しますか?


タイムスタンプデータ範囲を選択するには、次の構文を使用します-

SELECT *FROM yourTableName
where yourDataTimeField >= anyDateRange
and yourDataTimeField < anyDateRange

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

mysql> create table DateRange
   −> (
   −> DueTime timestamp
   −> );
Query OK, 0 rows affected (1.34 sec)

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

mysql> insert into DateRange values('2016-11-13');
Query OK, 1 row affected (0.51 sec)

mysql> insert into DateRange values('2016-10-14');
Query OK, 1 row affected (0.23 sec)

mysql> insert into DateRange values('2017-01-23');
Query OK, 1 row affected (0.10 sec)

mysql> insert into DateRange values('2017-05-14');
Query OK, 1 row affected (0.19 sec)

mysql> insert into DateRange values('2017-08-25');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DateRange values('2018-09-28');
Query OK, 1 row affected (0.18 sec)

mysql> insert into DateRange values('2018-11-17');
Query OK, 1 row affected (0.47 sec)

mysql> insert into DateRange values('2018-12-13');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DateRange values('2018-12-16');
Query OK, 1 row affected (0.27 sec)

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

mysql> select *from DateRange;

以下は出力です-

+---------------------+
| DueTime             |
+---------------------+
| 2016-11-13 00:00:00 |
| 2016-10-14 00:00:00 |
| 2017-01-23 00:00:00 |
| 2017-05-14 00:00:00 |
| 2017-08-25 00:00:00 |
| 2018-09-28 00:00:00 |
| 2018-11-17 00:00:00 |
| 2018-12-13 00:00:00 |
| 2018-12-16 00:00:00 |
+---------------------+
9 rows in set (0.00 sec)

タイムスタンプの日付範囲を選択するには、次のクエリを使用します-

mysql> select *from DateRange
   −> where DueTime >= '2017-05-14'
   −> and DueTime < '2018-12-17';

以下は出力です-

+---------------------+
| DueTime             |
+---------------------+
| 2017-05-14 00:00:00 |
| 2017-08-25 00:00:00 |
| 2018-09-28 00:00:00 |
| 2018-11-17 00:00:00 |
| 2018-12-13 00:00:00 |
| 2018-12-16 00:00:00 |
+---------------------+
6 rows in set (0.00 sec)

タイムスタンプがUNIXタイムスタンプである場合は、次の構文を使用します。

select *from yourTableName
where yourColumnName >= unix_timestamp('anyDateValue’)
and yourColumnName < unix_timestamp('anyDateValue’)

  1. MySQLでSelectクエリを使用して挿入

    SELECTクエリを使用した挿入の場合、構文は次のとおりです- insert into yourTableName(yourColumnName1,yourColumnName2,yourColumnName3,...N) select yourValue1,yourValue2,yourValue3,......N;を選択します。 まずテーブルを作成しましょう- mysql> create table DemoTable1603    -> (    -> StudentId int,    -> Stud

  2. 重複する値を持つ別の列でMySQLグループのタイムスタンプから最初の日付を取得します

    このために、集計関数MIN()およびGROUPBYを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1870      (      Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,      Value int,      ShippingTimestamp varchar(100)      ); Query OK, 0 rows affect