Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > PostgreSQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-08-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Agregando algo a lo sugerido por Casimiro, para eliminar esa ',' que te dificulta la conversión, podes hacer:
Código SQL [-]
UPDATE LA_TABLA
SET EL_CAMPO = SUBSTRING(EL_CAMPO FROM 1 FOR POSITION(',', EL_CAMPO) - 1) ||
               SUBSTRING(EL_CAMPO FROM POSITION(',', EL_CAMPO) + 1 FOR CHAR_LENGTH(EL_CAMPO))
El código está probado pero como siempre, te aconsejo hacer un resguardo de la tabla antes de ejecutarlo (reemplazá "LA_TABLA" y "EL_CAMPO" por los nombres que corresponda).

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 27-08-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Acabo de leer que PostgreSQL tiene la función OVERLAY que podría simplificar la sentencia si soportara cadena vacía en su segundo parámetro...
Pero no puedo probarlo por que no tengo PostgreSQL aquí.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 27-08-2016
sevenapp sevenapp is offline
Registrado
NULL
 
Registrado: ago 2016
Posts: 4
Poder: 0
sevenapp Va por buen camino
Gracias.

No hay una forma de que el campo acepte esos valores del ejemplo?
porque la db es usada por varios sistemas y cambiar los valores del campo puede afectar a otros sistemas que no tengo acceso.

los valores varian, a veces tienen punto y coma, y a veces no ej:

Costo
3,456.23
345.67
8,678.35
34.67

el sistema lo estoy desarrollando en el ide de codeTyphon con la conexión por Zeos.

Explico un poco mas como funciona.

1 - Tomo un archivo txt con los datos.
2 - Creo una tabla para guardar los valores del archivo
3 - Importo los datos del txt a la tabla

Acá el problema. en todas las pruebas, si el campo es numérico sale un error al importar los datos.
Y el segundo problemas, es que la tabla la usan otros sistemas y requieren que el campo contenga los datos con el formato del ejemplo.
Y el tercer problema es que no puedo sumar los valores del campo por no ser numérico

Por eso se me había ocurrido cambiar el tipo de campo pero manteniendo el formato de los valores.

Espero se entienda.

Gracias por las sugerencias!
Responder Con Cita
  #4  
Antiguo 27-08-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Guardar numeros como texto es un error garrafal, pero ssi es cierto que otros sistemas dependen de ese error y no puedes correjirlos (que seria lo correcto y aun con la ideas que te den deberias hacerlo, sin dudar), hay 2 formas de hacerlo.

La primera y obvia es ir convirtiendo cada valor en cada consulta que lo necesites. La otra es crear una columna extra, como
Código SQL [-]
Valor_MALHECHOENTEXTO Varchar
Valor_COMODEBESER Numeric

Y creas un trigger que haga la conversion al guardar, y sigues solo usando la columna correcta en tu app (mientras las otras se migran).

Ahora bien, si esa tabla es solo para importar datos y luego transpasar a otras, entonces usas la primera version solamente.
__________________
El malabarista.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Formato de pesos, puntos y comas Yun-i Varios 10 08-03-2008 02:02:51
puntos y comas - decimales Duc API de Windows 7 16-01-2008 17:40:15
comas por puntos pruz API de Windows 4 05-07-2005 22:59:24
Comas o Puntos pruz Varios 1 13-08-2004 20:18:42
comas decimales por puntos Carmelo8 Varios 5 28-11-2003 01:45:23


La franja horaria es GMT +2. Ahora son las 17:41:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi