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

MySQLの日時(DATETIME)から秒を削除する方法

MySQLのDATETIME型から秒を削除するには?

MySQLの日時(DATETIME型)から秒の情報を削除し、秒を「00」に揃えたい場合は、UPDATE文SET句を使って、現在の値からSECOND()関数で取得した秒数を引くことで実現できます。基本構文は以下のとおりです。

update yourTableName set yourDateColumnName = yourDateColumnName - second(yourDateColumnName);

ここからは、実際にサンプルテーブルを作成して動作を確認していきましょう。

1. サンプルテーブルの作成

まず、CREATE TABLE文でテーブルを作成します。

mysql> create table DemoTable
    -> (
    -> Shippingdatetime datetime
    -> );
Query OK, 0 rows affected (0.76 sec)

2. レコードの挿入

続いて、INSERTコマンドでいくつかのレコードを挿入します。

mysql> insert into DemoTable values('2019-01-21 12:05:20');
Query OK, 1 row affected (0.25 sec)

mysql> insert into DemoTable values('2019-03-01 10:23:35');
Query OK, 1 row affected (0.19 sec)

mysql> insert into DemoTable values('2019-06-09 11:00:56');
Query OK, 1 row affected (0.14 sec)

3. 現在のデータを確認

SELECT文ですべてのレコードを表示してみます。

mysql> select *from DemoTable;

出力結果

+---------------------+
| Shippingdatetime    |
+---------------------+
| 2019-01-21 12:05:20 |
| 2019-03-01 10:23:35 |
| 2019-06-09 11:00:56 |
+---------------------+
3 rows in set (0.00 sec)

4. 秒を削除するクエリの実行

それでは、DATETIME型から秒を削除するクエリを実行します。元の時刻からSECOND()関数で取得した秒数を減算することで、秒部分が自動的に「00」に設定されます。

mysql> update DemoTable set Shippingdatetime=Shippingdatetime-second(Shippingdatetime);
Query OK, 3 rows affected (0.15 sec)
Rows matched: 3 Changed: 3 Warnings: 0

5. 更新後のデータを確認

もう一度、テーブル内のすべてのレコードを確認してみましょう。

mysql> select *from DemoTable;

出力結果

+---------------------+
| Shippingdatetime    |
+---------------------+
| 2019-01-21 12:05:00 |
| 2019-03-01 10:23:00 |
| 2019-06-09 11:00:00 |
+---------------------+
3 rows in set (0.00 sec)

このように、すべてのレコードの秒部分が「00」に更新されました。SECOND()関数が返す値は0〜59の範囲に収まるため、この方法を使えばDATETIME型の有効範囲を超えることなく、安全に秒だけを削除できます。

  1. MySQLでDATETIME型から日付のみを抽出する方法

    MySQLのDATETIME型カラムから日付部分だけを取り出したい場合、DATE_FORMAT()関数と書式指定子を組み合わせるのが便利です。使用する主な書式指定子は以下の通りです。%d … 日(01〜31)%m … 月(01〜12)%Y … 年(4桁)それでは、実際にサンプルテーブルを作成して確認してみましょう。1. テーブルの作成mysql> create table DemoTable ( AdmissionDate datetime ); Query OK, 0 rows affected (0.52 sec)DATETIME型のカラム「AdmissionDate」を持つ

  2. MySQLテーブルからインデックスを削除する方法

    MySQLのテーブルから不要になったインデックスを削除したい場合、ALTER TABLE文とDROP INDEX句を組み合わせて使用します。この記事では、実際のSQL実行例を交えながら、インデックスを削除する手順をわかりやすく解説します。 インデックスを削除する基本構文 MySQLテーブルからインデックスを削除する際の基本構文は以下の通りです。 ALTER TABLE テーブル名 DROP INDEX `インデックス名`; インデックス名にスペースが含まれる場合は、バッククォート(`)で囲む点に注意してください。 ステップ1:サンプルテーブルを作成する まずは動作確認用のテーブルを作成しま