I have such query but it doesn't select anything, but it should. So query
SELECT *
FROM _custom_access_call
WHERE CONCAT(type, name) NOT IN ('string1', 'string2', 'string3')
I manually add to table entry with null and '1sfgsg' values but it wasn't selected. Why? I need to select all entries that concat values is not in array. Help to deal with it.
If one of the values is
NULL
, thenCONCAT()
will returnNULL
. AndNULL NOT IN (...)
is alwaysNULL
. AlsoNULL IN (...)
is alwaysNULL
. If you want to useNULL
you should explicitally handle it. In this specific case,CONCAT_WS()
helps, because it never returnsNULL
.Also, note that this query cannot use any index.