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)
-
MySQLでWITHROLLUPを正しく使用するにはどうすればよいですか?
WITH ROLLUP-を使用するための構文は、次のとおりです。 select yourColumnName1,sum(yourColumnName2) from yourTableName group by yourColumnName1 with rollup; まずテーブルを作成しましょう- mysql> create table DemoTable1622 -> ( -> EmployeeCountryName varchar(20), -> EmployeeSal
-
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