MySQL: Curdate() 和 Now()区别
在MySQL中,有两个常见的时间函数:Curdate()和Now()。很多人都不太清楚这两个函数的差异,下面我们来介绍一下它们各自的用法。
阅读更多:MySQL 教程
Curdate()
Curdate()函数用于返回当前日期,不包括时间部分。下面是一个例子:
SELECT Curdate();
输出结果为:
| Curdate() |
|-----------|
| 2021-06-22 |
可以看到,返回的结果只包含日期(年、月、日),没有时间。
还可以使用Curdate()函数来查询某个表中某个日期字段的行数,例如:
SELECT Count(*) FROM MyTable WHERE MyDate = Curdate();
这条语句将返回MyTable表中MyDate字段为当前日期的所有行数。
Now()
Now()函数用于返回当前日期和时间,包括年、月、日、小时、分钟和秒。下面是一个例子:
SELECT Now();
输出结果为:
| Now() |
|---------------------|
| 2021-06-22 16:26:52 |
可以看到,返回的结果包含日期和时间,包括小时、分钟和秒。
同样,Now()函数也可用于查询某个表中某个日期时间字段的行数,例如:
SELECT Count(*) FROM MyTable WHERE MyDateTime > Now() - INTERVAL 1 DAY;
这条语句将返回MyTable表中MyDateTime字段在过去24小时内的所有行数。
总结
Curdate()和Now()都是非常常用的时间函数,在使用时需要注意它们的区别和用法。如果只需要查询当前日期,那么使用Curdate()函数即可;如果需要查询当前日期和时间,那么使用Now()函数。当然,还有很多其他的时间函数可以在实际开发中使用,需要仔细了解并根据具体的需求选择合适的函数。
极客教程