Re: operator is not unique: integer || integer

From: Daniel Schuchardt <daniel_schuchardt(at)web(dot)de>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: operator is not unique: integer || integer
Date: 2008-05-05 18:54:07
Message-ID: fvnl4g$2u6$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Tino Wildenhain schrieb:
> Hi,
>
> Daniel Schuchardt wrote:
> ...
>> in 81:
>>
>> postgres=# SELECT 1::INTEGER||1::INTEGER;
>> ?column?
>> ----------
>> 11
>> (1 row)
>
> *shudder* is this actually a port of an application originally
> targeted at M*Sql? ;)
>
> Are you using those columns somewhere with their real type - as
> integer? I mean if you use them as text everywhere why not change
> the type once?
>
> T.
*g*

yes, sure we have to CAST it now. thats no problem. but the problem is
to find all the places where to cast. and you see that there are many
possiblilitys.

another example?:

RAISE NOTICE "error during validation % :",
'ks:"'||ks||'"@"'||loopdate||'"'; (here LoopDate is a DateTime)

another one:

here we need to add 4 CASTS. you see.....

CREATE OR REPLACE FUNCTION date_to_yearmonth_dec(TIMESTAMP) RETURNS
INTEGER AS $$
DECLARE R INTEGER;
BEGIN
IF extract(month FROM $1)<11 THEN
R:=extract(year FROM $1)||0||extract(month FROM $1)-1;
ELSE
R:=extract(year FROM $1)||extract(month FROM $1)-1;
END IF;
RETURN R;
END$$LANGUAGE plpgsql IMMUTABLE;

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Daniel Schuchardt 2008-05-05 19:04:41 Re: operator varchar = integer
Previous Message Tino Wildenhain 2008-05-05 18:18:19 Re: operator is not unique: integer || integer