【发布时间】:2017-01-08 18:40:54
【问题描述】:
我有下一个问题: 我的表格日期格式是:LIKE 2017-01-08 18:50:25(有时间)。
当我使用像
这样的 sql 查询时'SELECT date FROM table WHERE date = "2017-01-08"'
我的行是空的,我需要在没有时间的情况下计算所有具有相同(今天)日期的行。
注意,我不会更改 INSERT 日期时间!
【问题讨论】:
我有下一个问题: 我的表格日期格式是:LIKE 2017-01-08 18:50:25(有时间)。
当我使用像
这样的 sql 查询时'SELECT date FROM table WHERE date = "2017-01-08"'
我的行是空的,我需要在没有时间的情况下计算所有具有相同(今天)日期的行。
注意,我不会更改 INSERT 日期时间!
【问题讨论】:
使用DATE() 获取日期时间字段的日期部分并将其与今天进行比较。使用COUNT() 获取与您的查询匹配的记录数。
SELECT count(*) FROM table WHERE DATE(date) = CURDATE()
您还可以将CURDATE() 替换为NOW()、CURRENT_DATE() 和CURRENT_DATE
【讨论】:
你也可以通过以下方式使用
'SELECT date FROM table WHERE date_format(date,'%Y-%m-%d') = "2017-01-08"'
date_format 是 mysql 函数,它根据您的模式返回日期上述模式仅从日期时间返回 Y-m-d 希望对你有帮助
【讨论】:
请将您的语句等于运算符更改为大于
'SELECT date FROM table WHERE date > "2017-01-08"'
默认情况下,如果时间部分不存在,那么它会将 00:00...
【讨论】: