Thread: type conversion?

type conversion?

From
Peter Atkins
Date:
All,

I have a column "total_hours  |  character varying(5) " and I am unable to
perform the aggrigate function SUM() because of the column type.
Without changing the type is there a way to convert the datatype by using
CAST(), to_char() or something simular? So that I may calculate the SUM().

SELECT SUM(total_hours) AS hours FROM my_table WHERE flag='$flag';

Thanks!
-p


Re: type conversion?

From
Jean-Luc Lachance
Date:
Try:

SELECT SUM(int4(total_hours)) AS hours FROM my_table WHERE flag='$flag';

JLL


Peter Atkins wrote:
> 
> All,
> 
> I have a column "total_hours  |  character varying(5) " and I am unable to
> perform the aggrigate function SUM() because of the column type.
> Without changing the type is there a way to convert the datatype by using
> CAST(), to_char() or something simular? So that I may calculate the SUM().
> 
> SELECT SUM(total_hours) AS hours FROM my_table WHERE flag='$flag';
> 
> Thanks!
> -p
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org


Re: type conversion?

From
Stephan Szabo
Date:
On Tue, 9 Apr 2002, Peter Atkins wrote:

> I have a column "total_hours  |  character varying(5) " and I am unable to
> perform the aggrigate function SUM() because of the column type.
> Without changing the type is there a way to convert the datatype by using
> CAST(), to_char() or something simular? So that I may calculate the SUM().
>
> SELECT SUM(total_hours) AS hours FROM my_table WHERE flag='$flag';

I think this may work:
SELECT SUM(to_number(total_hours, '99999')) from my_table where ...