2015-04-28 155 views
2

我在其中使用了下面的數據結構的表格:MySQL查詢找上了日期時間記錄過濾

col1 col2 timestamp 
value1 value11 2014-27-04 03:05:25 
value2 value22 2014-28-04 03:05:25 
value3 value33 2014-27-04 04:05:25 

現在我想要檢索的時間戳大於等於03:05行: 25小時,但這應該是今天的數據...而不是前幾天的數據。

要利用這一點,我已經使用了下面的查詢,但這個

select * from tab1 where time(timestamp) > '03:05:25'; 

但這返回的前幾天也是所有數據。任何幫助都是非常有幫助的。

+1

'其中timestamp> = CONCAT(CURDATE(),」」,'03 :05:25')'? –

+0

@AbhikChakraborty ......感謝兄弟......也許是我可能問過的一個愚蠢的問題 – user3305327

+1

只要有意義,沒有問題是愚蠢的,而你的問題是非常有效的問題。 –

回答

0

你可以使用

SELECT * FROM table WHERE TIME(timestamp)>01:01:01 AND DATE(timestamp) = DATE(NOW()) 

難道不符合您的需求?

Mel_T也會工作。使用concat將它放在一起或將其分成2個過濾器(時間和日期)。

0

要選擇在同一天的所有行,但不遲於3時05分25秒,你可以這樣做:

select * from tab1 where timestamp > CONCAT(CURDATE(),' 03:05:25'); 
0
select 
    `timestamp` AS `timestamp`, 
    date(`timestamp`) AS `date`, 
    time(`timestamp`) AS `time` 
from `timestamps` 
where date(`timestamp`) = date(now()) AND time(`timestamp`) >= '03:05:25' 
;