SQL запрос не ищет, если поле NULL

Такая проблема, у меня поисковый запрос состоит из нескольких полей

if( isset($_POST['submit_search']) )
    {
        
        $Number = $_POST['Number'];
        $Name = $_POST['Name'];
        $Format = $_POST['Format'];
        $Orig_num = $_POST['Orig_num'];
        $Orig_Date = $_POST['Orig_Date'];
        $Dup_num = $_POST['Dup_num'];
        $Dup_Date = $_POST['Dup_Date'];
        
        echo $Dup_num;
        //Номера документов из главной таблицы(ineum_archive_fileindex_main),последние три цифры
        $sql= "select DocumentNumber 
                from in_main 
                WHERE SelectionDescription = '$SelectionDescription' 
                AND Sheet = '1' 
                AND DocumentNumber LIKE '%$Number%' 
                AND DocumentName LIKE '%$Name%'
                AND DocumnetFormat LIKE '%$Format%'
                AND OriginalInventoryNumber LIKE '%$Orig_num%'
                AND OriginalDataSupplay LIKE '%$Orig_Date%'
                AND DuplicationInventoryNumber LIKE '%$Dup_num%'
                AND DuplicationDataSupplay LIKE '%$Dup_Date%'
                order by id desc";
        $result = mysqli_query($conn,$sql);
        }

Если в базе данных все поля заполнены и нет пустых(NULL), то поиск выполняется корректно. Но если я выполняю поиск не по всем полям , а например только по $Number, остальные ячейки ввода для поиска оставляю пустые ($Name, $Format и т.д.). А в базе какие-то из этих ячеек тоже пустые (NULL), то ничего не найдет.


Пример1: Number=1, Name=Tom, Format=D, Orig_num=1, Orig_date=2019, Dup_naum=2, Dup_Date=2020. Если в базе есть такие данные, то все найдет корректно.


Пример2: Number=1. То есть поиск только по number, а остальным полям не задаем фильтр. Если в базе хотя бы одно из остальных полей, которые используются в запросе SQL будет NULL, то ничего не найдет, хотя должно.


Ответы (1 шт):

Автор решения: user399875

Сравнение с NULL всегда даст FALSE, даже так: NULL=NULL.
Если хотите чтобы в выборке участвовали поля с NULL, то добавте в условие выборки:

col1 IS NULL AND col2=1 AND col3!='deleted' 
→ Ссылка