varchar function

From: "jose' soares" <sferac(at)bo(dot)nettuno(dot)it>
To: pgsql-hackers(at)postgresql(dot)org
Subject: varchar function
Date: 1999-02-17 12:00:50
Message-ID: 36CAAF72.342139C3@bo.nettuno.it
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I'm trying to create a varchar(float8) to cast float to varchar but I
can't create it.
I can create bpchar(foat8) and text(float8) and it works well but
varchar(float8).

EXAPLE:

create table test(f float, n name);
CREATE
insert into test values(1.23, current_user);
INSERT 192042 1
select cast(f as text) from test;
text
-------------------------
2000-01-01 01:00:01.23+01 <----this is wrong then I create
text(float8)
(1 row)

select cast(f as char) from test;
ERROR: No such function 'bpchar' with the specified attributes
select cast(f as varchar) from test;
ERROR: No such function 'varchar' with the specified attributes
create function text(float8) returns text as
'begin
return $1;
end;' language 'plpgsql';
CREATE
create function bpchar(float8) returns bpchar as
'begin
return $1;
end;' language 'plpgsql';
CREATE
create function varchar(float8) returns varchar as
'begin
return $1;
end;' language 'plpgsql';
ERROR: parser: parse error at or near "varchar" <---there's a parser
error.
select cast(f as text) from test;
text
----
1.23 <------and now it works
(1 row)

select cast(f as char) from test;
bpchar
------
1.23
(1 row)

----I see there are some varchar built-in functions but I can't use them
also...

\df varchar
result |function |arguments |description
-------+---------------+--------------+---------------------
bool |varchareq |varchar varcha|equal
bool |varcharge |varchar varcha|greater-than-or-equal
bool |varchargt |varchar varcha|greater-than
bool |varcharle |varchar varcha|less-than-or-equal
bool |varcharlt |varchar varcha|less-than
bool |varcharne |varchar varcha|not equal
int4 |varcharcmp |varchar varcha|less-equal-greater
int4 |varcharlen |varchar |character length
int4 |varcharoctetlen|varchar |octet length
varchar|varchar |name |convert
varchar|varchar |varchar int4 |
(11 rows)

select varchar(n) from test;
ERROR: parser: parse error at or near "n"

--Any ideas ?

-Jose'-

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 1999-02-17 13:59:04 Re: [HACKERS] 8K block limit
Previous Message Mohamed Salah-Al-Din Hefny 1999-02-17 08:41:44 Postgres Compilation Error