FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Algo como NVL o COALESCE
Hola a todos, necesito una sentencia en sql server parecida a NVL de oracle o COALESCE de Firebird.
NVL( campo, siEsNulo) COALESCE( campo, siEsNulo ) Saludos, Jorge. |
#2
|
|||
|
|||
select * from tabla
where campo is null select * from tabla where campo is not null |
#3
|
||||
|
||||
Hola Fernando, parece que me he explicado mal, cuando envío un parámetro lo valido si es nulo o no y asigno otra variable, ej:
ORACLE: select campo1, campo2 from tabla where campo1 = NVL( arámetro, '9999' ) FIREBIRD: select campo1, campo2 from tabla where campo1 = COALESCE( arámetro, '9999' ) Como ves NVL y COALESCE sirven para validar si el parámetro es cualquier variable sea nula le asigne el valor a continuación, en este caso '99999', lo mismo deseo hacer en SQL SERVER, pero no se la sentencia. Saludos, Jorge. |
#4
|
|||
|
|||
intenta con esto:
select campo1, campo2 from tabla where iif(campo1 is null,parámetro, '9999' ) Saludos. |
#5
|
||||
|
||||
Tambien la funcion isnull(), funciona creo que exactamente igual.
Caso: Código:
declare @campo varchar declare @resultado varchar SET @campo = null SET @resultado = isnull(@campo, 'valor') -- @resultado sera igual a valor SET @campo = 'otrovalor' SET @resultado = isnull(@campo, 'valor') -- @resultado sera igual a 'otrovalor'
__________________
Héctor Geraldino Software Engineer |
|
|
|