convertir un tipo de dato en otro

From: Felipe Amezquita <felmarla(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: convertir un tipo de dato en otro
Date: 2006-02-06 14:34:15
Message-ID: bf4cfe570602060634l638ace97q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Bueno lista resulta que tengo una funcion de actualizacion dinamica.
El cuento es el siguiente,resulta que el vallor que se manda por parametro
es de tipo varchar y cuando se quiera actualizar un campo tipo numeric
presenta el siguiente error

PgAURORA=# select actualizar_persona(0,'sexo_codigo','1');
ERROR: column "sexo_codigo" is of type numeric but expression is of type
text
HINT: You will need to rewrite or cast the expression.

como puedo convertir es decir una especie de cast antes de hacer el
update,recuerden que la funcion es dinamica

CREATE OR REPLACE FUNCTION actualizar_persona(in_per_codigo numeric,
in_campo varchar, in_valor varchar)
RETURNS "varchar" AS
$BODY$
declare
cadena varchar;
var_valor Varchar(100);
begin
var_valor := in_valor;
if (in_campo = 'per_fecnac') and (in_valor = '01/01/1500') then
var_valor := null;
end if;

if (in_campo = 'per_fecfall') and (in_valor = '01/01/1500') then
var_valor := null;
end if;

cadena:='update persona set
'||in_campo||'=initcap(lower('''||var_valor||''')) where per_codigo=
'||in_per_codigo||'';
execute cadena;
return 1;

end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
gracias lista
--
Ing Sistemas y Telecomunicaciones
Luis Felipe Lopez Amezquita
3008217523 - 3162589699

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Sistemas C.M.P. 2006-02-06 16:23:39 Problema con Crystal
Previous Message Alvaro Herrera 2006-02-06 14:14:41 Re: Busqueda con FULLTEXT en Postgresql