Estou trabalhando em alguma otimização de código PHP e, enquanto procuro, encontro algumas instruções SELECT com as seguintes condições:
WHERE `date_exported` = '0000-00-00 00:00:00' OR `date_exported` IS NULL
Isso me faz pensar se a mesma instrução funcionará da mesma forma com apenas uma condição: a comparação com NULL ou a comparação com um datetime "inválido".
Acrescentarei ainda: usando MySQL Workbench e Datagrip (ou o equivalente de ferramentas como PhpStorm) não consigo ver a coluna com NULL
but 0000-00-00 00:00:00
. Não tenho certeza se isso é uma coisa de configuração ou se deveria ser assim.
Este é o MySQL 5.7 e não tenho permissão para verificar itens de configuração ou insights sobre como esta instância está configurada.
Tentei definir um playground aqui , mas não me permite adicionar uma coluna 0000-00-00 00:00:00
NULLdatetime
O SQL_MODE
é definido da seguinte forma:
NO_ZERO,IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Nota: é 0000-00-00 00:00:00
inválido?