ala*_*yli 7 mysql timestamp date
我有一个数据库和一个具有以下属性的表:
Column: Date
Type: TIMESTAMP
Attributes: ON UPDATE CURRENT_TIMESTAMP
Default: CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)
因此,每种数据都将以这种格式显示:"2013-07-06 14:32:18"
我正在寻找一个显示在"2013-07-06"中检索行的SQL查询.
我尝试了什么:
select * from posts where date between "2013-07-05 00:00:00" and "2013-07-07 00:00:00";
Run Code Online (Sandbox Code Playgroud)
您可以使用MySQL的DATE()函数仅获取您的日期部分TIMESTAMP:
SELECT * FROM posts WHERE DATE(date) = '2013-07-06'
Run Code Online (Sandbox Code Playgroud)
但是,这样的查询不能从date列上的索引(如果存在)中受益; 相反,可以使用如下范围:
SELECT * FROM posts WHERE date >= '2013-07-06' AND date < '2013-07-07'
Run Code Online (Sandbox Code Playgroud)
MySQL将隐式添加00:00:00日期文字的时间,但如果愿意,您可以明确地包含它们.
请注意,BETWEEN ... AND ...是包容性的操作数,所以BETWEEN "2013-07-05 00:00:00" AND "2013-07-07 00:00:00"将包括所有的记录2013-07-05,并2013-07-06在以及任何记录00:00:00上2013-07-07.
| 归档时间: |
|
| 查看次数: |
12898 次 |
| 最近记录: |