Carlos:
Pues no entiendo bien a bien que es lo que quieres hacer en el check (no entiendo tu ejemplo), pero yo he utilizado el iif muy a menudo. Te pongo un par de ejemplos:
En un campo calculado:
Código SQL
[-]
FULLNAME COMPUTED BY (TRIM(LASTNAME || ' ' || IIF(MOTHERSMAIDEN_NAME <> '', MOTHERS_MAIDEN_NAME || ' ', '') || FIRSTNAME));
Dentro de un procedimiento almacenado:
Código SQL
[-]
WHILE (1 = 1) DO
BEGIN
PosEspacio = IIF(POSITION(' ', APaterno) = 0, 1, POSITION(' ', APaterno));
APaterno1 = SUBSTRING(APaterno FROM 1 FOR PosEspacio - 1);
IF (APaterno1 NOT IN ('DE','LA','LAS','MC','VON','DEL','LOS','Y','MAC','VAN')
OR (PosEspacio - 1) = 0) THEN LEAVE;
APaterno = SUBSTRING(APaterno FROM PosEspacio + 1);
END
Espero que te ayude mi código ...
Saludos,
Gerardo Suárez Trejo