varchar function
jose' soares <sferac@bo.nettuno.it>
From: "jose' soares" <sferac@bo.nettuno.it>
To: pgsql-hackers@postgresql.org
Date: 1999-02-17T12:00:50Z
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'-