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

MySQLで現在の日時から30日を引くにはどうすればよいですか?


現在の日時から30日を引くには、まず現在の日時に関する情報を取得してから、MySQLのnow()メソッドを使用する必要があります。 now()は現在の日時を示します。

これに使用されるメソッドは、MySQLのDATE_SUB()です。現在の日時から30日を引く構文は次のとおりです。

構文は次のとおりです-

DATE_SUB(NOW(),INTERVAL 30 DAY);

上記の構文は、最初に現在の日時を計算し、次のステップで30日を差し引きます。最初にクエリを見て、現在の日時を取得しましょう-

mysql> select now();

これが出力です-

+---------------------+
| now()               |
+---------------------+
| 2018-11-23 16:38:43 |
+---------------------+
1 row in set (0.00 sec)

ここで、date_sub()メソッドを使用して30日を減算してみましょう。クエリは次のとおりです-

mysql> select date_sub(now(),interval 30 day);

これは、30日を引いた後の日付を表示する出力です-

+---------------------------------+
| date_sub(now(),interval 30 day) |
+---------------------------------+
| 2018-10-24 16:38:50             |
+---------------------------------+
1 row in set (0.00 sec)

結果の日付値のみを取得するには、now()の代わりにcurdate()を使用できます。これがcurdate()のデモです。

クエリは次のとおりです-

mysql> select date_sub(curdate(),interval 30 day);

以下は出力です-

+-------------------------------------+
| date_sub(curdate(),interval 30 day) |
+-------------------------------------+
| 2018-10-24                          |
+-------------------------------------+
1 row in set (0.00 sec)

  1. MySQLで日時から日付のみを取得しますか?

    DateTimeから日付のみを取得するには、日付形式指定子-を使用します %d for day %m for month %Y for year まずテーブルを作成しましょう- mysql> create table DemoTable (    AdmissionDate datetime ); Query OK, 0 rows affected (0.52 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('2019-07-21 12:34:56&

  2. 現在の日付から1日以上経過しているMySQLの行を選択するにはどうすればよいですか?

    現在の日付から1日を超えるデータを取得するには、MySQLのINTERVALの概念を使用します。 現在の日付は次のとおりです- mysql> select curdate(); +------------+ | curdate()  | +------------+ | 2019-11-29 | +------------+ 1 row in set (0.00 sec) 最初にテーブルを作成します- mysql> create table DemoTable1806      (      DueDate