Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Devolver un valor de tipo de dato integer

Estas en el tema de Devolver un valor de tipo de dato integer en el foro de PostgreSQL en Foros del Web. Buenas estimados, Tengo una data de aproximadamente 27 millones de registros, los cuales poseen cerca de 10 columnas cada uno, para poderlos montar desde un ...
  #1 (permalink)  
Antiguo 11/12/2013, 07:02
 
Fecha de Ingreso: diciembre-2013
Ubicación: Estado Miranda
Mensajes: 1
Antigüedad: 11 años
Puntos: 0
Devolver un valor de tipo de dato integer

Buenas estimados,

Tengo una data de aproximadamente 27 millones de registros, los cuales poseen cerca de 10 columnas cada uno, para poderlos montar desde un csv, tuve que colocar todos los campos character varying debido a que daba muchos errores colocando los tipos de datos correspondientes, ahora cree una segunda tabla donde debe ir la data depurada.

Me da un error con un campo que no es integer, pero en el destino debe serlo, necesito un query que me pueda devolver un tipo de dato, mas no el valor como tal, es eso posible??? como lo puedo hacer???

algo como select * from tal cosa where campo x != character varying (ojo, es solo un ejemplo para explicarme)
  #2 (permalink)  
Antiguo 11/12/2013, 07:30
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Devolver un valor de tipo de dato integer

Puedes implementar esta funcion

Código SQL:
Ver original
  1. CREATE FUNCTION isnumeric(text) RETURNS BOOLEAN AS '
  2. SELECT $1 ~ ''^[0-9]+$''
  3. ' LANGUAGE 'sql';
Fuente

El select seria mas o menos:
Código SQL:
Ver original
  1. SELECT isnumeric(campo_qie_deseas_mirar) FROM tabla;

Las que salgan en true son enteros, las que salgan en false son alfanumericos.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: dato, devolver, integer, select, tabla, tipo, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:29.