Re: Checking inequality
От | Vitaly Belman |
---|---|
Тема | Re: Checking inequality |
Дата | |
Msg-id | fa96e3c604121108355d9f6632@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Checking inequality (Michael Fuhr <mike@fuhr.org>) |
Список | pgsql-general |
COALESCE is good enough for me. Thanks. On Sat, 11 Dec 2004 09:33:32 -0700, Michael Fuhr <mike@fuhr.org> wrote: > On Sat, Dec 11, 2004 at 02:42:21PM +0200, Vitaly Belman wrote: > > > IF old.series_id<>new.series_id THEN > > ... > > The problem is that series_id can change to be NULL in which case I > > have problems as "NULL <> 7" doesn't return "true". > > > > What can I do to check inequality even in the case that old or new > > series_id is NULL? I'd prefer not to do zillion silly comparisons > > (like "IS NULL and IS NOT NULL"). Is there an easy way? > > You could COALESCE the fields to a value that would normally be > invalid: > > IF COALESCE(old.series_id, -1) <> COALESCE(new.series_id, -1) THEN > > This assumes that you'd want two NULLs to compare as equal. > > You could also use CREATE OPERATOR to create an operator that > behaves as you'd like. This has been discussed recently; see > the list archives. > > -- > Michael Fuhr > http://www.fuhr.org/~mfuhr/ > -- ICQ: 1912453 AIM: VitalyB1984 MSN: tmdagent@hotmail.com Yahoo!: VitalyBe
В списке pgsql-general по дате отправления: