MySQL 的 NOW() 函数的作用是返回当前时间。在 MySQL 中,NOW() 函数会返回当前日期和时间信息,其数据类型为 DATETIME;也可以通过在 NOW() 函数中添加参数来指定要返回的时间格式,例如 DATE, TIME 或 TIMESTAMP。下面是 NOW() 函数的语法格式:
NOW();
具体的使用方法如下:
显示当前时间的日期和时间部分
如果您只想显示当前时间的日期和时间部分,可以使用以下语句:
SELECT NOW();
这将返回当前日期和时间,例如:2021-08-23 14:23:06。
显示当前日期
要显示当前日期,可以在 NOW() 函数中添加 DATE 参数:
SELECT NOW() AS datetime, DATE(NOW()) AS date;
这将返回 datetime 和 date 两个字段,分别代表当前的日期时间和日期。例如:2021-08-23 14:23:06 和 2021-08-23。
显示当前时间
如果您只想显示当前时间的时间部分,可以在 NOW() 函数中添加 TIME 参数:
SELECT NOW() AS datetime, TIME(NOW()) AS time;
这将返回 datetime 和 time 两个字段,分别代表当前的日期时间和时间。例如:2021-08-23 14:23:06 和 14:23:06。
显示当前时间戳
如果您需要显示当前的时间戳,可以在 NOW() 函数中添加 UNIX_TIMESTAMP 参数:
SELECT NOW() AS datetime, UNIX_TIMESTAMP(NOW()) AS timestamp;
这将返回 datetime 和 timestamp 两个字段,分别代表当前的日期时间和对应的时间戳。例如:2021-08-23 14:23:06 和 1629700986。
更新记录时自动记录时间戳
除了用于查询当前时间之外,NOW() 函数还可以用于在更新记录时自动记录时间戳,以便在需要跟踪数据最后修改时间时使用。例如,可以使用以下语句在修改记录时更新时间戳:
UPDATE employees SET last_modified = NOW() WHERE id = 1;
这将会将 id 为 1 的员工记录的最后修改时间更新为当前的日期和时间。
实际应用举例
以下是两个实际应用 NOW() 函数的具体例子:
实例 1:在 web 应用程序中记录数据的创建时间
在大多数 web 应用程序中,用户创建的数据都需要记录创建时间。可以使用以下语句在向数据库中插入新数据时记录创建时间:
INSERT INTO articles (title, content, created_time) VALUES ('MySQL 的 NOW() 函数简介', '这是一段简介', NOW());
这将会给新插入的文章记录一个创建时间,以便稍后查询和跟踪文章的创建时间。
实例 2:在 web 应用程序中记录数据的最后修改时间
在 web 应用程序中,有时需要记录数据的修改时间,以便在用户查看数据时知道数据最后的修改时间。可以使用以下语句来更新修改时间:
UPDATE articles SET content = '这是更新后的内容', modified_time = NOW() WHERE id = 1;
这将会将文章的内容更新为新内容,并在 modified_time 字段中记录最后修改时间。