Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/10/2009, 15:05
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Reemplazar null por cero en select

ssh... No te refieres a un null sino a un vacío?
null es diferente de vacío pero me confunde el hecho de que digas que muestre cuando no haya registros. Te refieres a que haya un vacío?

Mira estos ejemplos
Código sql:
Ver original
  1. pruebas=> \d prueba_null;
  2.            Tabla ½public.prueba_null╗
  3.  Columna |         Tipo          | Modificadores
  4. ---------+-----------------------+---------------
  5.  campo1  | CHARACTER VARYING(10) |
  6.  
  7. pruebas=> INSERT INTO prueba_null VALUES('');
  8. INSERT 0 1
  9. pruebas=> INSERT INTO prueba_null VALUES(NULL);
  10. INSERT 0 1
  11. pruebas=> INSERT INTO prueba_null VALUES('otra cosa');
  12. INSERT 0 1
  13. pruebas=> SELECT *FROM prueba_null;
  14.   campo1
  15. -----------
  16.  
  17.  
  18.  otra cosa
  19. (3 filas)

Al parecer null y vacío son iguales. (Visualmente) pero mira esto:

Código sql:
Ver original
  1. pruebas=> SELECT COALESCE(campo1,'nulos') FROM prueba_null;
  2.  COALESCE
  3. -----------
  4.  
  5.  nulos
  6.  otra cosa
  7. (3 filas)
  8.  
  9. pruebas=> SELECT CASE WHEN campo1='' THEN 'vacios' ELSE campo1 END FROM prueba_null;
  10.   campo1
  11. -----------
  12.  vacios
  13.  
  14.  otra cosa
  15. (3 filas)
  16.  
  17. pruebas=> SELECT CASE WHEN campo1='' THEN 'vacio' ELSE COALESCE(campo1,'nulos') END FROM prueba_null
  18. ;
  19.  COALESCE
  20. -----------
  21.  vacio
  22.  nulos
  23.  otra cosa
  24. (3 filas)

aplica este concepto a tu problema.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 06/10/2009 a las 15:12