On Sun, Aug 21, 2005 at 06:17:28PM +0100, Matt wrote:
> insert into table (column) values (nullif('',''));
> ERROR: column "column" is of type boolean but
> expression is of type text.
> inserting NULL works. nullif('','') should return NULL
> if both values are equal? It works in MSSQL.
NULLIF's return type is derived from the argument types; for more
information see "UNION, CASE, and ARRAY Constructs" in the "Type
Conversion" chapter of the documentation (NULLIF is a CASE construct):
The type resolution behavior is defined in the SQL standard (9.3
"Set operation result data types" in SQL92; 9.3 "Data types of
results of aggregations" in SQL:1999).
> Is there different function to accomplish a insert
> nullif('','') test.
What are the possible values of NULLIF's arguments? It's not
clear what should happen if they're *not* equal. What value
should the boolean column receive in the following case?
INSERT INTO table (column) VALUES (NULLIF('abc', ''));
Can you tell us more about what the NULLIF is trying to achieve?
In response to
pgsql-bugs by date
|Next:||From: zeki||Date: 2005-08-22 15:19:05|
|Subject: Permission denied errors|
|Previous:||From: Tom Lane||Date: 2005-08-22 14:23:46|
|Subject: Re: BUG #1838: IndexSupportInitialze |