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