Thread: type conversion?
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
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
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 ...