Hola buenas tardes, tengo un tabla con la siguiente extructura

  Columna   |         Tipo          |                          Modificadores
------------+-----------------------+-----------------------------------------------------------------
id         | integer               | not null valor por omisi▒n 
nextval('trabajos_id_seq'::regclass)
empresa    | character varying(30) |
contacto   | character varying(30) |
tarea      | character varying(60) |
comentario | text                  |
fecha      | date                  |
valor      | character varying(30) |
factura    | character varying(30) |
▒ndices:
    "trabajos_pkey" PRIMARY KEY, btree (id)

Cuando quiero hacer una suma de un campo me tira este error:

dbtrabajos=# select sum(valor) from trabajos;
ERROR:  no existe la funci▒n sum(character varying)
L▒NEA 1: select sum(valor) from trabajos;
                ^
SUGERENCIA:  Ninguna funci▒n coincide en el nombre y tipos de argumentos. Puede 
ser necesario agregar conversi▒n expl▒cita de tipos.

El error debe de ser por la definición del campo de la tabla que los regsitros 
son numéricos y el campo es carácter, cuando quiero cambiarle la definición me 
tira error:

dbtrabajos=#  ALTER TABLE "public"."trabajos" ALTER COLUMN "valor" TYPE 
numeric(30);
ERROR:  la columna ▒valor▒ no puede convertirse autom▒ticamente al tipo numeric
SUGERENCIA:  Especifique una expresi▒n USING para llevar a cabo la conversi▒n.

No encuentro como especificar la opción “USING”.

Saludos


Fernando Romero
Coordinador de Soporte Tecnico
Departamento de Sistemas

Corredores Ferroviarios S.A.
Líneas Mitre – San Martín
Av. Ramos Mejía 1358
(C1104AJN) CABA
Tel.: (54-11) 4317-4498


Responder a