mysql - 建议合适的mysql日期函数

标签 mysql sql datetime select

我有一个数据类型为 datetime 的日期字段,即使 H:s:i 已存储,但我不想在验证时考虑它例如,我在 where 查询条件中使用 CURDATE() 但正在考虑“H:S:i”

SELECT ('2013-01-10 05:10:50' <= CURDATE()) FROM dual

上面的查询返回 false(0),为什么不是 true(1),因为 2013-01-10 05:10:50 是过去的时间。简而言之,我想存储 'H:s:i' 但在验证哪个 MySql 函数适用时不应该考虑?

更新了以下内容

我不想使用 NOW()SYSDATE() 因为这些函数在验证时会考虑 H:s:i,所以我使用了 CURDATE() 但当我使用 CURDATE() 时预期结果不同。

最佳答案

您的查询返回 false 因为 CURDATE() 返回的是 date 而不是日期和时间。与日期和时间进行比较时,仅返回日期表示 2012-01-10 00:00:00。因此 CURDATE() 不在 2013-01-10 05:10:50 之前。

我建议您使用 NOW() - 它会返回日期和时间。

Docs for NOW() here

关于mysql - 建议合适的mysql日期函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14254104/

相关文章:

sql - 如何在 PostgreSQL 字符串中的单引号后添加分号?

mysql - 如何使用 SQL 查询的结果作为另一个查询中的字段

php - 获取查询中别名的结果

sql - 如何仅选择那些具有多个具有值的给定字段的行

sql - PostgreSQL 查询优化 - 我可以强制在查找表上使用索引吗?

python - 如何在Python中获取季度开始日期

mysql - #1411 - INSERT INTO...SELECT 函数 str_to_date 的日期时间值不正确

mysql - 在本地主机 WAMP 上使用 mysql 控制台导入表

MySQL 连接两个表

mysql - 有没有办法在同一列上进行 SELF JOIN?