У меня есть MySQL 8 DB с полем DATETIME(4)
, и я столкнулся со странным случаем вокруг эквивалентности в VIEW. Я работал над этим, но я не уверен, почему это происходит, и я хотел бы понять, почему.
У меня есть таблица с полем: date_time DATETIME(4)
. У меня есть ПРОСМОТР, где я превращаю это обратно в строку ISO8601, используя DATE_FORMAT(date_time, '%Y-%m-%dT%T.%fZ') as date_time
.
Если я вставляю строку с датой, такой как 2017-04-22T20:47:05.33523Z
, а затем следующий запрос не может найти строку, и я ' Я не уверен, почему.
select * from EXAMPLE_VIEW where date_time >= '2017-04-22T20:47:05.335Z';
Работают следующие:
select * from EXAMPLE where date_time >= '2017-04-22T20:47:05.335Z';
select * from EXAMPLE where date_time >= '2017-04-22T20:47:05.335';
select * from EXAMPLE where date_time >= '2017-04-22T20:47:05.3350Z';
select * from EXAMPLE_VIEW where date_time >= '2017-04-22T20:47:05.335';
select * from EXAMPLE_VIEW where date_time >= '2017-04-22T20:47:05.3350Z'
Минимальный пример здесь: https://www.db-fiddle.com/f/ak7LTLzH7UJGgmPWS85dRE/1