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

MySQLでDATETIMEフィールドに1日を追加する方法|DATE_ADD()関数の使い方を解説

DATE_ADD()関数とは

MySQLでは、DATE_ADD()関数を使うことで、テーブルのDATETIME型フィールドに簡単に日数を加算することができます。日付や時刻の計算を行いたい場合に非常に便利な関数です。

基本構文

DATE_ADD(日付, INTERVAL 加算値 単位)

第1引数に対象の日付(DATETIME型)、第2引数にINTERVALキーワードを使って加算する値と単位を指定します。

DATETIMEフィールドに1日を追加する具体例

以下の例では、「testing」というテーブルのRegDateカラム(DATETIME型)に1日を追加しています。

mysql> Select StudentName, RegDate, Date_ADD(RegDate, INTERVAL +1 day) AS 'NEXT DAY'
        from testing where StudentName = 'gaurav';

+-------------+---------------------+---------------------+
| StudentName | RegDate             | NEXT DAY            |
+-------------+---------------------+---------------------+
| Gaurav      | 2017-10-29 08:48:33 | 2017-10-30 08:48:33 |
+-------------+---------------------+---------------------+
1 row in set (0.00 sec)

クエリの解説

このクエリでは、WHERE句によってStudentNameが「Gaurav」のレコードのみを抽出し、そのレコードのRegDateにINTERVAL +1 dayを指定して1日を加算しています。

結果を見ると、元の日付「2017-10-29 08:48:33」に対して1日が追加され、「2017-10-30 08:48:33」が表示されていることがわかります。時刻部分(08:48:33)は変更されず、日付部分だけが1日進んでいます。

補足:INTERVALの単位について

INTERVALキーワードでは、「day」以外にも以下のような単位を指定できます。

  • SECOND … 秒
  • MINUTE … 分
  • HOUR … 時間
  • DAY … 日
  • MONTH … 月
  • YEAR … 年

また、負の値を指定すれば日付を減算することも可能です。例えば「INTERVAL -1 day」とすると、1日前の日付を取得できます。

  1. MySQLでchar型カラムをdatetime型に変換する方法をわかりやすく解説

    MySQLでは、char型として保存された日付文字列をdatetime形式に変換したいケースがあります。本記事では、REPLACE関数とSTR_TO_DATE関数を組み合わせて、「12/31/2017 10:50」のような米国式の日付文字列を「2017-12-31 10:50:00」というdatetime形式へ変換する手順を、実際のSQLと実行結果付きで解説します。サンプルテーブルの作成まず、テーブルを作成します。ここでは配送日(ShippingDate)をあえてchar型として宣言しています。mysql> create table DemoTable1472  &n

  2. MySQLのINTERVALを使って日付フィールドに1日を追加する方法

    MySQLでは、DATE_ADD()関数とINTERVALを組み合わせることで、日付や日時フィールドに簡単に1日を追加できます。この記事では、実際にテーブルを作成し、INTERVAL 1 DAYを使って日付フィールドの値を更新する手順を解説します。1. テーブルを作成するまず、日付型(DATE)のカラムを持つテーブルを作成します。mysql> create table DemoTable-> (-> DueDate date->);Query OK, 0 rows affected (2.11 sec)2. レコードを挿入するINSERTコマンドを使って、テーブルにいく