Mysql 时间戳间隔
我有一个名为“s_timestamp”的专栏 如何返回时间戳中包含当前日期的所有记录 比如说,Mysql 时间戳间隔,mysql,sql,select,timestamp,Mysql,Sql,Select,Timestamp,我有一个名为“s_timestamp”的专栏 如何返回时间戳中包含当前日期的所有记录 比如说, s_timestamp 2012-12-27 1:00:00 2012-12-27 2:00:00 2012-12-26 0:00:01 2012-12-20 0:00:02 2012-12-21 0:00:03 我想要以下输出: 2012-12-27 1:00:00 2012-12-27 2:00:00 如果不清楚,请告诉我。只需使用CURDATE()。乙二醇 SELECT * FROM tab
s_timestamp
2012-12-27 1:00:00
2012-12-27 2:00:00
2012-12-26 0:00:01
2012-12-20 0:00:02
2012-12-21 0:00:03
我想要以下输出:
2012-12-27 1:00:00
2012-12-27 2:00:00
如果不清楚,请告诉我。只需使用CURDATE()
。乙二醇
SELECT *
FROM tableName
WHERE DATE(s_timestamp) = CURDATE()
SELECT *
FROM tableName
WHERE s_timestamp >= CURDATE()
AND s_timestamp < DATE_ADD(CURDATE(), INTERVAL 1 DAY)
选择*
从表名
其中s_timestamp>=CURDATE()
和s_时间戳
这是因为,当将
日期时间
或时间戳
与日期
进行比较时,日期
实际上被解释为时间部分为0:00:00
是时间戳a时间戳
?@WaleedKhan,是的。让我来编辑这个问题。我必须同意JW给出的答案。它还允许您通过简单地将查询中的“CURDATE”更改为您想要获取数据的任何日期来获取任何日期的信息。(即CURDATE,或2012-11-23,或2012-12-24,或任何你想查询的日期)好吧,时间戳是“2012-12-27 11:45:40”。。。如何从该时间戳中获取curdate,然后运行查询?@SohelMansuriWHERE DATE(s_timestamp)=curdate()
yes,DATE
不使用索引。但是条件,其中s_timestamp>=CURDATE()
将选择从今天开始的所有日期,并大于该日期<代码>其中s_timestamp介于CURDATE()和DATE_ADD之间(CURDATE(),INTERVAL 1 DAY)将选择今天和明天。啊,我明白了,上限被关闭了一秒钟。让我来解决这个问题。。。这可能不仅仅是更有效。如果在s\u timestamp
上有一个索引,它肯定会更有效率,而且效率会更高。
SELECT *
FROM tableName
WHERE s_timestamp >= CURDATE()
AND s_timestamp < DATE_ADD(CURDATE(), INTERVAL 1 DAY)