Re: [GENERAL] Where is IFNULL?

From: Jose Soares <jose(at)sferacarta(dot)com>
To: Sascha Ziemann <szi(at)khs-ag(dot)de>
Cc: "Gene Selkov Jr(dot)" <selkovjr(at)selkovjr(dot)xnet(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] Where is IFNULL?
Date: 1999-09-11 18:27:59
Message-ID: 37DA9F2E.2D2928E8@sferacarta.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

select * from a;
a|b
-+-----
1|primo
2|
(2 rows)

SELECT CASE WHEN b IS NOT NULL
THEN 'pref.'||b||'.suf'
ELSE 'pref.'||'NULL'||'.suf'
END FROM a;

case
--------------
pref.primo.suf
pref.NULL.suf
(2 rows)

Jose'

Sascha Ziemann wrote:

> "Gene Selkov Jr." <selkovjr(at)selkovjr(dot)xnet(dot)com>:
>
> | > the user manual describes the function IFNULL on page 38, but when I
> | > try to use it I get the following error:
> | >
> | > users=> select ifnull (NULL, 'nix');
> | > ERROR: No such function 'ifnull' with the specified attributes
> |
> | The manual seems to be obsolete. The related functions are named
> | nullvalue and nonnullvalue, but neither takes more than one argument.
>
> IFNULL isn't syntactic suguar. It is like C's "1 ? 1 : 0".
>
> | > Or does anybody know a simple way to concatenate strings, which can be
> | > NULL?
> |
> | Don't know the answer to this, but it appears to be wrong not to
> | ignore NULLs in concatenation.
>
> That is the way Postgresql works:
>
> users=> select 'tach' || NULL;
> ERROR: parser: parse error at or near ";"
>
> users=> create function cat (text,text) returns text as 'begin return $1 || $2; end;' language 'plpgsql';
> CREATE
> users=> select cat ('tach', NULL);
> ERROR: typeidTypeRelid: Invalid type - oid = 0
>
> | Why not trust this job to your client-side
> | code?
>
> Because I do not write that code and because my computer isn't
> religious enough to trust anybody ;-)
>
> Sascha
>
> ************

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Ing. Arturo de la Torre 1999-09-11 19:12:13 Some information about JDBC
Previous Message Jose Soares 1999-09-11 17:51:31 Re: [GENERAL] How to stop implicit rollback on certain errors?