Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Algo como NVL o COALESCE (https://www.clubdelphi.com/foros/showthread.php?t=19144)

jwmoreira 05-03-2005 22:44:06

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.

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:

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'



La franja horaria es GMT +2. Ahora son las 13:10:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi