Это потому, что у вас есть "O" "12320" "2018-02-02 13:0:00
вместо "O" "12320" "2018-02-02 13:00:00
, то есть у вас должно быть 13:00:00
, а не 13:0:00
(0 пропущено из часа).
При большем наборе данных к этому «NULL» добавляется одна строка из каждого дня.
дата "
Вы можете обнаружить их, используя SELECT * FROM Test WHERE entered LIKE '%:_:%';
.
Если вам повезло, и все строки из-за пропущенного 0 и единственного 0, вы можете использовать следующее для исправления строк: -
UPDATE Test SET entered = replace(entered,':0:',':00:') WHERE entered LIKE '%:_:%' ;
Однако, если другие строки неверны по-другому, например, скажем, у вас есть 13: 1: 00 , тогда исправление будет более сложным, чем 1 , потому что фактическое значение может быть либо 13: 01: 00 или 13: 10: 00 .