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

Remplazar caracteres

Estas en el tema de Remplazar caracteres en el foro de SQL Server en Foros del Web. buenas tardes amigos espero puedan ayudarme mi problema es el siguiente tengo una tabla llama TxtRif donde me guarda el RIF de todos los clientes ...
  #1 (permalink)  
Antiguo 24/01/2013, 13:56
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 12 años
Puntos: 0
Remplazar caracteres

buenas tardes amigos espero puedan ayudarme mi problema es el siguiente
tengo una tabla llama TxtRif donde me guarda el RIF de todos los clientes peor por error colocaron esto J-1234567-8 en varios campos estoy utilizando este codigo
USE BDAdminSQL
go
SELECT TxtCedula FROM Tab_Productores
DECLARE
@Caracteres VARCHAR(50)
SET @Caracteres='-,_ .'
WHILE Tab_Productores.TxtCedula LIKE '%['+@Caracteres+']%'
BEGIN
SELECT Tab_Productores.TxtCedula = REPLACE(TxtCedula
, SUBSTRING(TxtCedula
, PATINDEX('%['+@Caracteres+']%'
, TxtCedula), 1)
,'')
END

pero no me funciona lo que quiero en q en todos los campos q se equivocaron quitar los guiones es decir q el ejemplo q les di quede J12345678
  #2 (permalink)  
Antiguo 24/01/2013, 14:07
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Remplazar caracteres

y para que un cursor y todo eso si puedes hacer esto:


Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. valor VARCHAR(30)
  4. )
  5.  
  6. INSERT INTO #temp VALUES ('J-1234567-8')
  7. INSERT INTO #temp VALUES ('Libras')
  8. INSERT INTO #temp VALUES ('Li-bras-a')
  9. INSERT INTO #temp VALUES ('mi-casa')
  10.  
  11. SELECT
  12. CASE WHEN charindex('-',valor)>0 THEN REPLACE(valor,'-','') ELSE valor END AS nuevo FROM #temp
  13.  
  14. ---------
  15. J12345678
  16. Libras
  17. Librasa
  18. micasa

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 24/01/2013, 14:10
 
Fecha de Ingreso: diciembre-2012
Mensajes: 83
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Remplazar caracteres

facil amigo mio si lo que quieres es quitarle los guiones entonces nada mas es así:

Update Tab_Productores
Set TxtCedula = Replace(TxtCedula,'-','')

yyy listo ;)
  #4 (permalink)  
Antiguo 24/01/2013, 14:12
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Remplazar caracteres

Cita:
Iniciado por luis_anez44 Ver Mensaje
buenas tardes amigos espero puedan ayudarme mi problema es el siguiente
tengo una tabla llama TxtRif donde me guarda el RIF de todos los clientes peor por error colocaron esto J-1234567-8 en varios campos estoy utilizando este codigo
USE BDAdminSQL
go
SELECT TxtCedula FROM Tab_Productores
DECLARE
@Caracteres VARCHAR(50)
SET @Caracteres='-,_ .'
WHILE Tab_Productores.TxtCedula LIKE '%['+@Caracteres+']%'
BEGIN
SELECT Tab_Productores.TxtCedula = REPLACE(TxtCedula
, SUBSTRING(TxtCedula
, PATINDEX('%['+@Caracteres+']%'
, TxtCedula), 1)
,'')
END

pero no me funciona lo que quiero en q en todos los campos q se equivocaron quitar los guiones es decir q el ejemplo q les di quede J12345678
Lo que mas me sorprende es que estas usando un replace dentro de tu codigo, pero porque un cursor? porque todo eso que pusiste? es lo que no entiendo......
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 24/01/2013, 14:49
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 12 años
Puntos: 0
Respuesta: Remplazar caracteres

Gracias Amigos tenian razon es mas facil como me decian muchas gracias de verdad
  #6 (permalink)  
Antiguo 24/01/2013, 15:44
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Remplazar caracteres

Cita:
Iniciado por luis_anez44 Ver Mensaje
Gracias Amigos tenian razon es mas facil como me decian muchas gracias de verdad
Sigo con mi pregunta, en tu codigo que pensabas hacer?? :P
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campos, caracteres, remplazar, select, tabla
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 05:40.