2017-02-17 68 views
1

我有一個表(id)(int)和時間datetime(6)列。MySQL where where clause with microseconds

通過ID正常工作:

SELECT id,time FROM event where id = 570054; 
=> 570054 2017-02-17 13:25:40.043000 

但選擇通過時間微秒將不起作用:

SELECT id,time FROM event where time = '2017-02-17 12:25:40.043000'; 
=> No DATA 

我做的查詢在MySQL 6.3 Workbenchb。 MySQL服務器的版本是33年6月5日,應支持微秒(如在第一查詢可見的)

我缺少什麼?爲什麼第二個查詢不起作用?

+0

如果您的時間戳已經關閉了十分之一毫秒,您就不會得到命中。最好給一個範圍。 – duffymo

回答

1

這可能是時間值的分辨率問題。從這樣的範圍比較開始:

SELECT id, time 
FROM event 
WHERE time >= '2017-02-17 12:25:40.043' AND 
     time < '2017-02-17 12:25:40.044'; 
-1

從查詢中刪除引號。 正確 SELECT ID,時間FROM事件,時間= 2017年2月17日12:25:40.043000;

0

哎唷!對不起;-)

一切工作正確的,當我不亂用的時區。

時間值是:25:40而不是:25:40。 用

查詢
SELECT id,time FROM event where time = '2017-02-17 13:25:40.043000'; 

工作正常。

+0

感謝您的幫助! – powerpete