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

error al convertir un valor character a numero en PostgreSQL

Estas en el tema de error al convertir un valor character a numero en PostgreSQL en el foro de PostgreSQL en Foros del Web. tengo una columna de nombre nom_numero de tipo de dato character(250) pero quiero que por medio de una sintaxis me convierta ese valor a un ...
  #1 (permalink)  
Antiguo 13/11/2014, 19:46
Avatar de supermash  
Fecha de Ingreso: noviembre-2014
Mensajes: 7
Antigüedad: 10 años
Puntos: 0
Exclamación error al convertir un valor character a numero en PostgreSQL

tengo una columna de nombre nom_numero de tipo de dato character(250) pero quiero que por medio de una sintaxis me convierta ese valor a un numero he buscado en internet y encontre un trozo de logica y lo acople a mis necesidades quedo de la siguiente manera
Código SQL:
Ver original
  1. SELECT CAST(nom_numero AS INT)  FROM prueba;

y me tira este error:

ERROR: la sintaxis de entrada no es válida para integer: «uno »

********** Error **********

ERROR: la sintaxis de entrada no es válida para integer: «uno »
SQL state: 22P02


alguna solucion para eso espero me puedan ayudar
  #2 (permalink)  
Antiguo 13/11/2014, 19:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: error al convertir un valor character a numero en PostgreSQL

Seré curioso, pero...
Cita:
ERROR: la sintaxis de entrada no es válida para integer: «uno »
¿Lo que contiene ese campo es la palabra "uno"?

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/11/2014, 17:19
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 16 años, 1 mes
Puntos: 58
Respuesta: error al convertir un valor character a numero en PostgreSQL

Mmmmm no seria mejor que pongas una nueva columna que diga num_numero y le pongas el número que le corresponde???

De lo contrario ocupas tener un catalogo y tu pongas que al leerse una palabra la tome de ese catalogo, para obtener el número, etc, etc.
__________________
Your Code as a Crime Scene...
  #4 (permalink)  
Antiguo 01/12/2014, 13:41
 
Fecha de Ingreso: diciembre-2014
Mensajes: 16
Antigüedad: 9 años, 11 meses
Puntos: 1
Respuesta: error al convertir un valor character a numero en PostgreSQL

prueba asi.
select nom_numero::integer from prueba;
  #5 (permalink)  
Antiguo 01/12/2014, 14:21
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: error al convertir un valor character a numero en PostgreSQL

Cita:
Iniciado por rvargas170291 Ver Mensaje
prueba asi.
select nom_numero::integer from prueba;
Igual se revienta.

El problema es tener en un campo que debe ser numerico la palabra uno tal como lo menciona gnzsoloyo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 02/12/2014, 04:42
 
Fecha de Ingreso: diciembre-2014
Mensajes: 16
Antigüedad: 9 años, 11 meses
Puntos: 1
Respuesta: error al convertir un valor character a numero en PostgreSQL

entonces haz esto:
select case when nom_numero = 'uno' then 1 else (select case when nom_numero = 'dos' then 2 else null end)end)as nombrecampo from prueba

dentro del else puedes anidar los casos existentes.

luego puedes pasarlo a numerico haciendo

select nombrecampo::integer

Etiquetas: columna, numero, sql, 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 10:20.