09/03/2011, 12:12
|
| 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: Reemplazar una cadena tomando un inicio y un fin en SQL El codigo que te pase lo que hace crea una tabla temporal(para la prueba) y en esta tabla pone la cadena que quieres remplazar, este select select
patindex('%<SPAN STYLE="display:none">%',dato) pos1, patindex('%-->%',dato)pos2, dato, len('<SPAN STYLE="display:none">') long
from #temp
saca la posicion en donde inicia la cadena <SPAN STYLE="display:none">(pos1) y la cadena --> (pos2), ademas de que obtiene la longitud de la cadena <SPAN STYLE="display:none"> long
Con estos datos se arma el query completo: stuff lo que hace es reemplazar una cadena empezando en una posicion con la longitud de caracteres que le indiques y la remplaza un texto a cambiar select stuff(dato,pos1+long,pos2-long-1,'texto a cambiar') from
(
select
patindex('%<SPAN STYLE="display:none">%',dato) pos1, patindex('%-->%',dato)pos2, dato, len('<SPAN STYLE="display:none">') long
from #temp
)t1
El texto que debes de reemplazar es la cadena 'texto a cambiar'
Espero haberme explicado, saludos!
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |