MySQL where子句以微秒为单位

时间:2017-02-17 12:48:13

标签: mysql

我有一个带有id(int)和time datetime(6)列的表。

按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 Workbenchb 6.3中进行查询。 MySQL服务器版本是5.6.33,它应该支持微秒(如第一个查询中所示)

我错过了什么?为什么第二个查询不起作用?

3 个答案:

答案 0 :(得分: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 :(得分:0)

哎哟!对不起; - )

当我不熟悉时区时,一切正常。

时间值为 13 :25:40,而不是 12 :25:40。 用

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

工作正常。

答案 2 :(得分:-1)

从查询中删除引号。 <强>正确 SELECT id,time FROM event where time = 2017-02-17 12:25:40.043000;