not - mysql insert into select
Mysql: seleccione*de la tabla donde col IN(null, "") es posible sin OR (1)
SELECT *
FROM mytable
WHERE COALESCE(col, '''') = ''''
Sin embargo, tenga en cuenta que la consulta OR
será mucho más eficiente si la columna está indexada:
SELECT *
FROM mytable
WHERE col = '''' OR col IS NULL
Esto usará la ref_or_null
acceso ref_or_null
en el índice.
Si necesita seleccionar de una lista de valores junto con NULLs
, simplemente coloque todos los valores no nulos en la lista y agregue una única condición OR IS NULL
:
SELECT *
FROM mytable
WHERE col IN (''val1'', ''val2'', ''val3'') OR col IS NULL
Esto utilizará un índice en col
también.
¿Es posible de alguna manera hacer una selección de cadenas vacías y valores NULL en Mysql sin usar o?
esta:
select * from table where col IN (null, "");
no funciona, ignora el valor nulo (o posiblemente coincida con la cadena ''nulo''
gracias, PV Goddijn