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

CURDATE()関数で時間単位のINTERVALを使用する場合、MySQLはどのように動作しますか?


CURDATE()は日付単位のみを返すことがわかっているため、CURDATE()で時間単位のINTERVALを使用するのはあいまいです。 MySQLは常に現在の日付を「00:00:00」の時刻で表します。したがって、CURDATE()で時刻単位のINTERVALを使用する場合、このような種類の時刻演算ではこの時刻が考慮されます。次の例はそれを明確にします-

mysql> Select CURDATE() + INTERVAL 0 hour;
+-----------------------------+
| curdate() + Interval 0 hour |
+-----------------------------+
| 2017-10-28 00:00:00         |
+-----------------------------+
1 row in set (0.00 sec)

mysql> select CURDATE() + INTERVAL 1 hour;
+-----------------------------+
| curdate() + Interval 1 hour |
+-----------------------------+
| 2017-10-28 01:00:00         |
+-----------------------------+
1 row in set (0.00 sec)

mysql> Select CURDATE() + INTERVAL 2 hour;
+-----------------------------+
| CURDATE() + INTERVAL 2 hour |
+-----------------------------+
| 2017-10-28 02:00:00         |
+-----------------------------+
1 row in set (0.00 sec)

  1. MySQLでWITHROLLUPを正しく使用するにはどうすればよいですか?

    WITH ROLLUP-を使用するための構文は、次のとおりです。 select yourColumnName1,sum(yourColumnName2) from yourTableName  group by yourColumnName1 with rollup; まずテーブルを作成しましょう- mysql> create table DemoTable1622     -> (     -> EmployeeCountryName varchar(20),     -> EmployeeSal

  2. MySQLでCURDATEでCONTAINS()を使用するにはどうすればよいですか?

    このために、CONCAT()をCURDATE()とともに使用できます。MySQLにはCONTAINS()という名前の関数はありません。 まず、現在の日付を取得しましょう。現在の日付は次のとおりです- mysql> select curdate(); これにより、次の出力が生成されます- +------------+ | curdate()  | +------------+ | 2019-11-28 | +------------+ 1 row in set (0.00 sec) テーブルを作成します- mysql> create table DemoTable18