Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-01-2015
nuxbaster nuxbaster is offline
Miembro
NULL
 
Registrado: dic 2010
Posts: 13
Poder: 0
nuxbaster Va por buen camino
Replace con substring en Firebird

Hola buenos días a todos:

Quisiera pedir su opinion y consideración para el siguiente problemas que tengo presentado, en una base de datos tengo un campo de tipo char con longitud 9 que me almacena un registro de la siguiente forma: A00000001 ,A00004781, A01234567. El problema es eliminar los ceros a la izquierda para que queden de la siguiente forma A1, A4781, A1234567 .

Lo he hecho con esta consulta:

Código SQL [-]
SELECT REPLACE(CAMPO1,SUBSTRING(CAMPO1 FROM 2 FOR 1),'') from TABLA
y funciona muy bien pero al llegar a un registro con toda la longitud de ceros solo me devuelve A ejemplo:
A12345678 queda como A.... Analizando con detalle la consulta es lógico que lo haga de dicha forma pero si ustedes pueden apoyarme con otra cnsulta o una pista para poder eliminar los ceros a la iozquierda.

Se los agradeceria.!

Saludos!
Responder Con Cita
  #2  
Antiguo 18-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si no recuerdo mal, es más fácil:
Código SQL [-]
select replace(campo1,'0','') from TBARTICULOS
Responder Con Cita
  #3  
Antiguo 18-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
He dicho una tontería, eso eliminará los ceros, estén donde estén.
Responder Con Cita
  #4  
Antiguo 18-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Se me ocurre otra forma:

Código SQL [-]
select substring(campo1 from 1 for 1) || cast(SUBSTRING(campo1 from 2 for 9) as integer)
from tabla

EDITO:

Código SQL [-]
select substring(campo1 from 1 for 1) || 
       replace(cast(SUBSTRING(campo1 from 2 for 9) as integer),0,'')
from EJEMPLO5

Última edición por Casimiro Notevi fecha: 18-01-2015 a las 19:02:42.
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
Filter & Replace Mir Conexión con bases de datos 4 12-08-2011 13:19:03
Como utilizar replace o update... kia SQL 4 05-09-2008 20:26:22
consulta con replace kejos MS SQL Server 3 08-11-2007 14:06:51
Uso de UPDATE con REPLACE Borjaserrano Firebird e Interbase 1 08-10-2007 15:50:36
Como hago un replace en delphi ?? hperez Varios 3 23-05-2007 19:32:00


La franja horaria es GMT +2. Ahora son las 00:54:52.


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