Re: Cast - Mailing list pgsql-novice

From Gaetano Mendola
Subject Re: Cast
Date
Msg-id cho411$977$1@floppy.pyrenet.fr
Whole thread Raw
In response to Cast  (Eduardo Vázquez Rodríguez<evazquez@insys-corp.com.mx>)
List pgsql-novice
Eduardo Vázquez Rodríguez wrote:

> I made I mistake choosing the data types in my database I try to run  a
> query that look like this
> Duration data type is varchar
>
> SELECT name, SUM(duration) AS total
> FROM table
> GROUP BY name
> HAVING  name != 'John'
>
> I get the following error:
> ERROR:  function sum(character varying) does not exist
> HINT:  No function matches the given name and argument types. You may
> need to add explicit type casts.
>
> 1. How can I made a cast on the query from varchar to int?

Try with:

... SUM(duration::integer) ...


> 2. If I change the datatype on the database from varchar to int, do I
> loose all the data on that field?

You can create a new integer column, copy all datas from the old
VARCHAR column to the new one and with a rename column and a remove column
you finish...


Regards
Gaetano Mendola



pgsql-novice by date:

Previous
From: Eduardo Vázquez Rodríguez
Date:
Subject: Cast
Next
From: "Pradeepkumar, Pyatalo (IE10)"
Date:
Subject: how to overwrite tuples in a table