¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Solución a problemas con declaración SELECT y valores de campo vacíos en ADS (12.2)

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 4 Vistas
0
Cargando...

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?

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

>>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.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

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.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

¡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.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

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?

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?