isDate() - isnumeric()

From: Mario Guerrero <chimuelo22(at)yahoo(dot)es>
To: Jaime Casanova <systemguards(at)gmail(dot)com>, "pg_espaol" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: isDate() - isnumeric()
Date: 2005-12-26 15:30:03
Message-ID: 20051226153003.53840.qmail@web86805.mail.ukl.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola, lo que quiero hacer son unas validaciones y evitar errores cuando haga cast(). La tabla temporal TablaA(a varchar(10), b varchar(10))tiene los datos que subo desde un plano con la funcion COPY.
TablaA
a | b
'1' |'12/12/2005'
'2' |'XXX XXX'
'X' |'13/12/2005'
'3' |'14/12/2005'


Ahora quiero validar estos datos de la TablaA, por ejemplo que todos los datos del campo a sean numeros, que todos los datos del campo b sean fechas. Esta validacion la quiero hacer antes de hacer un cast() y pasar esos datos a la tabla persistente TablaB (campo1 int, campo2 date).

Es decir si hago:

insert into TablaB(campo1,campo2)
select cast(a as int), cast(b as date) from TablaA.

Quiero que deje en NULL los valores que no puede convertir, pero no que genere un error y termine el proceso para obtener lo siguiente:

TablaB
a | b
'1' |'12/12/2005'
'2' |
|'13/12/2005'
'3' |'14/12/2005'


Mario Guerrero.

Jaime Casanova <systemguards(at)gmail(dot)com> escribió:
On 12/26/05, Mario Guerrero wrote:
> Hola grupo,
>
> Como puedo hacer en postgres para hacer algo similar a las funciones
> isDate(NombreAtributo) ó isnumeric(NombreAtributo) de SQLServer. Es decir,
> como parametro le envio un atributo de una relacion y la funcion retorna un
> valor booleano, 1 si el valor enviado es del mismo tipo o 0 en caso
> contrario.
>
>
> Mario Guerero.
>

parece como que tendrias que hacerla tu mismo leyendo de pg_attribute...
BTW, como para que quieres algo asi? yo pensaria que sabiendo el
nombre del atributo deberias saber el tipo de dato...

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)


---------------------------------

Correo Yahoo!
1GB de capacidad gratis y más privacidad. Infórmate aquí
http://correo.yahoo.es

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message cristian 2005-12-26 15:46:31 Problema, postgres JDBC
Previous Message Tutopia 2005-12-26 15:03:25 RV: COPY desde el cliente