Обсуждение: Altering built-in functions cast

Поиск
Список
Период
Сортировка

Altering built-in functions cast

От
"Matt A."
Дата:
Anyone know how I could alter the cast of the nullif()
function directly to return INT?

We use NULLIF() for adding [1|0|null] according to the
evalution of nullif('x','') into integer columns.
Where x is an integer and sometimes a empty string,
which if it's an empty string (x='') then we add NULL
cause NULLIF says if '' == '' then return NULL

Thank you,
matthew



__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail

Re: Altering built-in functions cast

От
Richard Huxton
Дата:
Matt A. wrote:
> Anyone know how I could alter the cast of the nullif()
> function directly to return INT?
>
> We use NULLIF() for adding [1|0|null] according to the
> evalution of nullif('x','') into integer columns.
> Where x is an integer and sometimes a empty string,
> which if it's an empty string (x='') then we add NULL
> cause NULLIF says if '' == '' then return NULL

Just add a wrapper function:

CREATE FUNCTION nullif_always_int(text) RETURNS integer AS '
    SELECT nullif($1,'''')::int;
' LANGUAGE SQL;

--
   Richard Huxton
   Archonet Ltd

Re: Altering built-in functions cast

От
"Matt A."
Дата:
Thank you so much for the reply. I inserted the
function as you said in pgsql. I tried testing it and
got...


PERFECT RESULTS!


THHHHHHHHHHHHHAAAAAAAAAAANKKKKKKKKKKK YOUUUUUUUUUUU!

*kisses feet* j/k But honestly, Thank you very much.
You saved me from suicide.


--- Richard Huxton <dev@archonet.com> wrote:

> Matt A. wrote:
> > Anyone know how I could alter the cast of the
> nullif()
> > function directly to return INT?
> >
> > We use NULLIF() for adding [1|0|null] according to
> the
> > evalution of nullif('x','') into integer columns.
> > Where x is an integer and sometimes a empty
> string,
> > which if it's an empty string (x='') then we add
> NULL
> > cause NULLIF says if '' == '' then return NULL
>
> Just add a wrapper function:
>
> CREATE FUNCTION nullif_always_int(text) RETURNS
> integer AS '
>     SELECT nullif($1,'''')::int;
> ' LANGUAGE SQL;
>
> --
>    Richard Huxton
>    Archonet Ltd
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq
>




____________________________________________________
Start your day with Yahoo! - make it your home page
http://www.yahoo.com/r/hs