Jestem po prostu ciekawy. Wiem o NULL bezpiecznego równego operatora < =>, ale jest tam jakiś NULL bezpieczny nie jest równa operator, albo muszę zawsze używać coś takiego:MySQL - NULL bezpieczne NIE równy operator
(tab.id != 1 OR tab.id IS NULL)
lub ktoś preferuje
!(tab.id <=> 1)
Myślę, że jest to preferowana metoda, ponieważ to zapytanie będzie również działać na serwerze SQL. Najlepszą metodą jest brak wartości zerowych i prawidłowe ustawienie domyślne, ale dane źródłowe nie zawsze mogą być kontrolowane przez programistę. –
Niestety, jeśli nie znasz wartości na RHS tego porównania, nie wiesz, co COALESCE() twój NULL do! – Arth
Działa to, jeśli chcesz porównać tab.id z wartością, ale nie działa, jeśli chcesz porównać dwa pola, takie jak tab.id z tab_childs.tab_id. –