MySQL的當前時間函數(shù)可以通過一些格式化選項呈現(xiàn)不同時間格式,包括日期、時間、日期時間和時間戳。
SELECT NOW(); -- 2022-05-30 08:24:57 SELECT DATE(NOW()); -- 2022-05-30 SELECT TIME(NOW()); -- 08:24:57 SELECT TIMESTAMP(NOW()); -- 1653947097
除了通用的時間格式外,還可以通過使用DATE_FORMAT函數(shù)指定任何自定義格式來顯示日期和時間。
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 2022-05-30 08:24:57 SELECT DATE_FORMAT(NOW(), '%W %M %Y'); -- Monday May 30 2022
DATE_FORMAT函數(shù)的第二個參數(shù)是日期格式字符串。例如,%Y表示年份,%m表示月份,%d表示日,%H表示小時,%i表示分鐘,%s表示秒等等。
在MySQL中,當前時間函數(shù)可用于記錄創(chuàng)建或修改時間戳,并用于查詢最近更改或創(chuàng)建的記錄。
CREATE TABLE `users` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `email` VARCHAR(100) NOT NULL, `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ); INSERT INTO `users` (`name`, `email`) VALUES ('John', 'john@example.com'); SELECT * FROM `users`; +----+------+-------------------+---------------------+---------------------+ | id | name | email | created_at | updated_at | +----+------+-------------------+---------------------+---------------------+ | 1 | John | john@example.com | 2022-05-30 08:30:22 | 2022-05-30 08:30:22 | +----+------+-------------------+---------------------+---------------------+
在上面的示例中,我們使用CURRENT_TIMESTAMP作為默認值為created_at和updated_at字段,這將設(shè)置MySQL服務(wù)器的當前時間戳。當插入新行時,創(chuàng)建時間戳將自動填充。而更新時間戳將在更新行時自動更新。