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

Saber si es caracter o letra;

Estas en el tema de Saber si es caracter o letra; en el foro de PostgreSQL en Foros del Web. Buen dia. aqui con una duda. lo que pasa es lo siguiente, tengo una tabla, la cual requiere ser depurada, el problema es el siguiente. ...
  #1 (permalink)  
Antiguo 05/05/2010, 17:32
Avatar de calakra  
Fecha de Ingreso: septiembre-2009
Mensajes: 182
Antigüedad: 15 años, 3 meses
Puntos: 0
Saber si es caracter o letra;

Buen dia.
aqui con una duda. lo que pasa es lo siguiente, tengo una tabla, la cual requiere ser depurada, el problema es el siguiente.
Quieren crear otra columna el cual se llamara 'numero', el dichoso numero sera sacado de la columna 'direccion', aqui es donde viene el problema ya que hay direcciones que estan asi

"LA CONDE 375 ESQ. JUAREZ"
"LA CONDE 375."
"LA CONDE 375"

en los tres casos tengo que obtener 375 como numero.
tengo una idea de como hacerlo, el cual es tomar el ultimo caracter y con un CASE saber si es numero
case when caracter=1.....when caracter=2.......
E ir avanzando hacia atras hasta encontrar el ultimmo numero o terminar la cadena.


mi pregunta es.

existe una funcion al cual retorne true o false cuando como parametro tiene un numero?

como en javascript ISNAN() o en PHP is_numeric()

ya que seria mucho mas facil asi que preguntar por cada numero.

tengo postgresql 8.3

sin mas por el momento gracias.

Última edición por calakra; 05/05/2010 a las 19:57
  #2 (permalink)  
Antiguo 06/05/2010, 08:37
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: Saber si es caracter o letra;

Código SQL:
Ver original
  1. postgres=> SELECT SUBSTRING('LA CONDE 375 ESQ. JUAREZ' FROM '[0-9]+');
  2.  SUBSTRING
  3. -----------
  4.  375
  5. (1 fila)
  6.  
  7. postgres=> SELECT SUBSTRING('LA CONDE 375.' FROM '[0-9]+');
  8.  SUBSTRING
  9. -----------
  10.  375
  11. (1 fila)

Este metodo se llama expresiones regulares. Puedes profundizar mas en el tema para obtener resultados mas certeros.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 06/05/2010, 13:52
Avatar de calakra  
Fecha de Ingreso: septiembre-2009
Mensajes: 182
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Saber si es caracter o letra;

gracias nuevamente. solo que no se si me podrias proporcionar un tutorial donde vengan ejemplos, ya que estoy viendo esta pagina http://www.postgresql.org/docs/8.1/s...-matching.html

pero no me quedan claros las definiciones o los usos. no importa si el tuto que me mandas esta en ingles. de preferencia con ejemplos o minimo un poco mas detallado.


gracias por tu ayuda. me servira de mucho.
  #4 (permalink)  
Antiguo 06/05/2010, 13:59
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: Saber si es caracter o letra;

No tengo un manual especifico.
Pero puedes buscar expresiones regulares en general.
es un concepto universal que es independiente de si es lenguaje de programación o bases de datos.


http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular

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

Etiquetas: letra, caracteres
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 02:21.