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-12 10 :30 :45'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable values('2015-09-21 12 :00 :00'); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values('2018-12-31 11 :45 :56'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values('2016-01-02 01 :23 :04'); Query OK, 1 row affected (0.14 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-----------------------+ | DueDate | +-----------------------+ | 2017-08-12 10 :30 :45 | | 2015-09-21 12 :00 :00 | | 2018-12-31 11 :45 :56 | | 2016-01-02 01 :23 :04 | +-----------------------+ 4 rows in set (0.00 sec)
以下は、すべての日付を変更するクエリですが、時刻の値は変更しません-
mysql> update DemoTable set DueDate=DueDate+interval 1 year; Query OK, 4 rows affected (0.16 sec) Rows matched : 4 Changed : 4 Warnings : 0
テーブルレコードをもう一度確認しましょう-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-----------------------+ | DueDate | +-----------------------+ | 2018-08-12 10 :30 :45 | | 2016-09-21 12 :00 :00 | | 2019-12-31 11 :45 :56 | | 2017-01-02 01 :23 :04 | +-----------------------+ 4 rows in set (0.00 sec)
-
MySQLで日付をグループ化してレコードを表示する
MySQLで日付をグループ化するには、GROUPBY句-を使用します mysql> create table DemoTable2002 ( CustomerName varchar(20), CustomerShippingDate datetime ); Query OK, 0 rows affected (0.61 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2002 values('Chris','2019-
-
MySQLでASC順にレコードのリストのみを表示する
レコードのリストを特定の順序で表示するには、条件を設定してORDERBYを使用する必要があります。これには、ORDERBYCASEステートメントを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2039 -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected (0.62 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert