Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-12-2007
zvf zvf is offline
Miembro
 
Registrado: abr 2006
Posts: 158
Poder: 19
zvf Va por buen camino
Funciòn para extraer un campo texto


Hola a todos!

De nuevo, pido su valiosìsima ayuda para resolver un problema que tengo.

Tengo un campo tipo cadena que guarda un valor como este:
916,4213

Lo que necesito hacer es un update, que me de como resultado cambiar la cantidad que està antes de la coma (,) y el resto dejarlo igual. Es decir, por ejemplo que me quedara: 515,4213

¿Saben como puedo hacerlo?

Gracias!

Responder Con Cita
  #2  
Antiguo 07-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo, el titulo pone cambiar campo texto y el dato es numérico float.?
Me explicas?
Saludos
Responder Con Cita
  #3  
Antiguo 07-12-2007
zvf zvf is offline
Miembro
 
Registrado: abr 2006
Posts: 158
Poder: 19
zvf Va por buen camino
Explico

Es que el campo es de tipo string, y los nùmeros que guarda, aunque sean nùmeros, los guarda de tipo cadena; serìa lo mismo que hubiera puesto:
abc,werf

Lo que yo quiero es cambiar los datos que se encuentran antes de la coma, y dejar los otros como estàn en el campo, es decir, cambiarlo a : der,werf.

Pero no se como hacer el update.

Gracias.

Zaira
Responder Con Cita
  #4  
Antiguo 07-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Bueno, aún no entiendo si esto tiene que ver con SQL, pero eso que quieres se puede hacer de esta forma, por supuesto una de tantas que puede haber.....

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  Indice : Integer;
  Cadena: String;
begin
  Indice := Pos(',',Edit1.Text);
  Cadena := Edit1.Text;
  Delete(Cadena,1,Indice-1);
  Insert('9999',Cadena,1);
  Edit1.Text := Cadena;
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 07-12-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola, Tambien puedes utilizar la funcion REPLACE de Mysql:

Código SQL [-]
update [table_name] set [field_name] = replace([field_name],'[string_to_find]','[string_to_replace]');

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #6  
Antiguo 07-12-2007
zvf zvf is offline
Miembro
 
Registrado: abr 2006
Posts: 158
Poder: 19
zvf Va por buen camino
MUCHISIMAS MUCHISIMAS GRACIAS!!

Esa funciòn, replace, era la que necesitaba, funcionò de maravilla
Responder Con Cita
  #7  
Antiguo 07-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por enecumene Ver Mensaje
Hola, Tambien puedes utilizar la funcion REPLACE de Mysql:

Código SQL [-]
update [table_name] set [field_name] = replace([field_name],'[string_to_find]','[string_to_replace]');


Saludos.
Hola amigo enecumene, pero...., para hacer ese update primero requiere de obtener el registro deseado, no creo que sea una constante, por eso es que sugerí que eso se haga con delphi y despues se haga un update simple, porque además imagina esta caso

123,1234

Que pasaria si yo hago esto:

replace([field_name],'[123]','[456]')

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 07-12-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Cita:
Empezado por zvf Ver Mensaje
MUCHISIMAS MUCHISIMAS GRACIAS!!

Esa funciòn, replace, era la que necesitaba, funcionò de maravilla
Bueno al parecer al amigo zvf le funcionó, aunque la tuya era mejor por las razones que comentas.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #9  
Antiguo 07-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por enecumene Ver Mensaje
Bueno al parecer al amigo zvf le funcionó, aunque la tuya era mejor por las razones que comentas.

Saludos.
Código SQL [-]
 
Update tabla set campo = '456,1234'
where campo = '123,1234'

Bueno, es que a veces son paranóico al ver un problema de forma aislada, si eso fuera una constante, ni siquiera se necesitaria un replace, con esto funcionaría igual....
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney

Última edición por egostar fecha: 07-12-2007 a las 21:08:27.
Responder Con Cita
  #10  
Antiguo 07-12-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
Código SQL [-]
Update tabla set campo = '456,1234' where campo = '123,1234'


Bueno, es que a veces son paranóico al ver un problema de forma aislada, si eso fuera una constante, ni siquiera se necesitaria un replace, con esto funcionaría igual....
jajaja Tienes Razon amigo egostar .
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
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
Leer varios archivos de texto y extraer solo 2 lineas de ese texto mp3968 Internet 1 17-05-2007 20:24:09
Extraer el texto de un archivo UTF-8 ixMike Varios 0 10-10-2006 19:31:45
Funcion que devuelva la longitud de un campo en una SQL para BDE en Delphi7 Kivan SQL 5 20-05-2005 20:10:49
DisplayFormat para campo de texto apicito Conexión con bases de datos 1 23-09-2004 15:26:39


La franja horaria es GMT +2. Ahora son las 08:10:36.


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