Re: [GENERAL] Where is IFNULL?

From: Sascha Ziemann <szi(at)khs-ag(dot)de>
To: "Gene Selkov Jr(dot)" <selkovjr(at)selkovjr(dot)xnet(dot)com>
Cc: pgsql-general(at)postgreSQL(dot)org
Subject: Re: [GENERAL] Where is IFNULL?
Date: 1999-12-07 21:44:37
Message-ID: m3ogc2e88q.fsf@intra.do.khs-ag.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"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

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Peter Eisentraut 1999-12-07 21:50:29 Re: [GENERAL] viewing dbs
Previous Message Kevin Heflin 1999-12-07 21:42:09 Re: [GENERAL] viewing dbs