2017-02-17 5 views
1

У меня есть таблица с идентификатором (int) и столбцом времени datetime (6).MySQL where where with microseconds

Выбор по идентификатору работает отлично:

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, которая должна поддерживать микросекунды (как видно из первого запроса)

Что мне не хватает? Почему второй запрос не будет работать?

+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 event, где время = 2017-02-17 12: 25: 40.043000;

0

Ouch! Извините ;-)

Все работает правильно, когда я не возиться с часовыми поясами.

Значение времени в : 25: 40, а не на : 25: 40. запросов с

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

работает отлично.

+0

спасибо за помощь! – powerpete