Обсуждение: cast numeric to char
Howdy:
Running PostgreSQL 7.2.1 -
I'm trying to cast a numeric field to character, but I
am getting errors saying that it can not be done.
[snip errors]
testdb=> select lpad(i_pd::char,7,'0') from t_table limit 1;
ERROR: Cannot cast type 'numeric' to 'character'
[/snip error]
Is it that I *can not* cast numeric into character value or
or do I need some new methodology of doing this?
Thanks!
-X
select number::float::text::char FROM test; You can cast it a few times as shown above to get there HTH On Mon, 28 Oct 2002, Johnson, Shaunn wrote: > Howdy: > > Running PostgreSQL 7.2.1 - > > I'm trying to cast a numeric field to character, but I > am getting errors saying that it can not be done. > > [snip errors] > > testdb=> select lpad(i_pd::char,7,'0') from t_table limit 1; > ERROR: Cannot cast type 'numeric' to 'character' > > [/snip error] > > Is it that I *can not* cast numeric into character value or > or do I need some new methodology of doing this? > > Thanks! > > -X > -- Darren Ferguson
--thanks for the reply
--but, at the same time, i seem to lose my decimal values.
--should that happen? how can i keep those values at the
--end?
-X
-----Original Message-----
From: Ian Harding [mailto:ianh@tpchd.org]
Yes, you cannot cast a numeric to character, but there is a function called to_char() that will help.
Something like:
planning=# select to_char(4, '0000009');
to_char
----------
0000004
The only annoying thing is that it seems to put a blank in front of the string, I am not sure why. You will probably want to trim() the results.
Ian A. Harding
Programmer/Analyst II
Tacoma-Pierce County Health Department
(253) 798-3549
iharding@tpchd.org
<This Space Intentionally Left Blank>
Howdy:
Running PostgreSQL 7.2.1 -
I'm trying to cast a numeric field to character, but I
am getting errors saying that it can not be done.
[snip errors]
testdb=> select lpad(i_pd::char,7,'0') from t_table limit 1;
ERROR: Cannot cast type 'numeric' to 'character'
[/snip error]
Is it that I *can not* cast numeric into character value or
or do I need some new methodology of doing this?
Thanks!
-X
On Mon, Oct 28, 2002 at 10:13:02AM -0500, Johnson, Shaunn wrote:
> Yes, you cannot cast a numeric to character, but there is a function called
> to_char() that will help.
>
> Something like:
>
> planning=# select to_char(4, '0000009');
> to_char
> ----------
> 0000004
>
> The only annoying thing is that it seems to put a blank in front of the
> string, I am not sure why. You will probably want to trim() the results.
test=# select to_char(4, '99999999');
to_char
-----------
4
test=# select to_char(4, 'FM99999999');
to_char
---------
4
See docs, it's better then trim() :-)
Karel
--
Karel Zak <zakkr@zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/
C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz