Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/05/2011, 11:06
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Respuesta: Llenar campos vacíos de una tabla en consulta sql

Hola losarcosnoch:

La respuesta que da el compañero libra es correcta si el campo es nulo entonces te debe poner el texto que mandas como parámetro, ahora bien, verifica que tu campo no tenga espacios en blanco, ya que si es así el campo obviamente NO ES NULO. podrías hacer algo como esto:

Código:
Select 
case when rtrim(RFC) = '' then 'AXX010101000' else
isnull(RFC, 'AXX010101000') end
...
...
...
Aquí está el script completo de como sería el comportamiento

Código SQL:
Ver original
  1. DECLARE @Tabla TABLE (id INT, RFC CHAR(13));
  2. INSERT INTO @Tabla VALUES (1, 'AAAA111111XXX');
  3. INSERT INTO @Tabla VALUES (2, ' ');
  4. INSERT INTO @Tabla VALUES (3, '              ');
  5. INSERT INTO @Tabla VALUES (4, NULL);
  6. INSERT INTO @Tabla VALUES (5, '            -');
  7.  
  8. SELECT id,
  9. CASE WHEN rtrim(RFC) = '' THEN 'AXX010101000' ELSE isnull(RFC, 'AXX010101000') END RFC
  10. FROM @Tabla

En la tabla de ejemplo el registro 2 contiene un espacio en blanco, el registro 3 varios espacios en blanco, el registro 4 es nulo (como vez no es lo mismo espacio en blanco a nulo) y el registro 5 tiene espacios en blanco y al final un caracter. el resultado de esta consulta sería:

Código:
id          RFC
----------- -------------
1           AAAA111111XXX
2           AXX010101000
3           AXX010101000
4           AXX010101000 
5                       -
es decir, para los casos 2, 3 y 4 pone el valor por defecto, mientras que en el resto deja los valores que tiene el campo.

Saludos
Leo.