Re: [SQL] IIF..

From: Clark Evans <clark(dot)evans(at)manhattanproject(dot)com>
To: Eduardo Noeda <enoeda(at)virtualsw(dot)es>
Cc: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] IIF..
Date: 1999-03-29 21:34:08
Message-ID: 36FFF1D0.FB1986CA@manhattanproject.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Eduardo Noeda wrote:
> function like SQL Server's "iif" in a SELECT query.

Try this...

--------------------------------

--
-- Drop the iff function if it exists
--
DROP FUNCTION iff(bool,text,text);

--
-- Install procedural language, if it is not already
-- installed. You may have to change the shared library
-- location to match your installation.
--
CREATE FUNCTION plpgsql_call_handler () RETURNS OPAQUE AS
'/opt/pgsql/lib/plpgsql.so' LANGUAGE 'C';

CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql'
HANDLER plpgsql_call_handler
LANCOMPILER 'PL/pgSQL';

--
-- Create the IFF function
--
create function iff(bool,text,text) RETURNS text AS '
BEGIN
IF $1 = true THEN
RETURN $2;
ELSE
RETURN $3;
END IF;
END;
' LANGUAGE 'plpgsql';

--
-- Simple test plan.
--

SELECT iff( 1 = 1, 'YEP', 'NOPE' );
SELECT iff( 1 = 0, 'YEP', 'NOPE' );

SELECT iff( 'x'::text = 'y'::text , 'YEP', 'NOPE' );
SELECT iff( 'x'::text = 'x'::text , 'YEP', 'NOPE' );

In response to

  • IIF.. at 1999-03-29 10:49:19 from Eduardo Noeda

Browse pgsql-sql by date

  From Date Subject
Next Message Bruce Momjian 1999-03-29 22:59:01 Re: [SQL] union on views]
Previous Message Jackson, DeJuan 1999-03-29 20:30:16 RE: [SQL] union on views