Ver la Versión Completa : Algo como NVL o COALESCE
jwmoreira
05-03-2005, 22:44:06
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.
Fernando
07-03-2005, 18:00:53
select * from tabla
where campo is null
select * from tabla
where campo is not null
jwmoreira
07-03-2005, 20:04:23
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( :parámetro, '9999' )
FIREBIRD:
select campo1, campo2 from tabla
where campo1 = COALESCE( :pará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.
Fernando
07-03-2005, 21:15:49
intenta con esto:
select campo1, campo2 from tabla
where iif(campo1 is null,parámetro, '9999' )
Saludos.
__hector
07-03-2005, 21:57:48
Tambien la funcion isnull(), funciona creo que exactamente igual.
Caso:
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'
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.