>>select * from DEMO where PARNR = 20 AND TXTFLD IS NULL;
Solo se muestran 11 de 20 resultados. Por lo tanto, no se han encontrado todos los registros.
Avalados por :
Hola,
Tengo problemas con ADS (12.2) con una declaración SELECT y valores de campo vacíos:
¡No funciona correctamente!
Ya he probado diferentes variantes:
select * from DEMO where PARNR = 20 AND Empty(TXTFLD)
select * from DEMO where PARNR = 20 AND TXTFLD <> 'X'
select * from DEMO where PARNR = 20 AND TXTFLD = ''
Ninguno de estos funciona de manera confiable.
¿Qué puedo hacer?
>>select * from DEMO where PARNR = 20 AND TXTFLD IS NULL;
Solo se muestran 11 de 20 resultados. Por lo tanto, no se han encontrado todos los registros.
Aún no nos has dicho qué sucede cuando ejecutas
SELECT * FROM DEMO WHERE PARNR = 20 AND TXTFLD IS NULL;
excepto que "no funciona" y no arroja ningún error.
¡Obviamente esto es un error!
La única solución que encontré es:
SELECT * FROM demo WHERE PARNR = 20 y ifNull(TxtFld,'') = ''
Pero esto no es muy satisfactorio.
Me sorprende que alguna fila no haya devuelto ningún valor. NULL debería haber regresado como 0. 32, sin embargo, es un espacio, que no está vacío ni nulo en una tabla ADT. Por lo tanto, es apropiado que TXTFLD <> 'X' devuelva 11 filas, ya que ' ' <> 'X'. NULL <> 'X' es indeterminado.
Si ejecutas
UPDATE DEMO
SET TXTFLD = null;
Deberías encontrar que
select * from DEMO where PARNR = 20 AND Empty(TXTFLD);
funciona
Esperaría que
select * from DEMO where PARNR = 20 AND TXTFLD IS NULL;
también funcione. ¿Actualmente devuelve 0 filas?
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute