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

como hacer un replace con expresiones regulares

Estas en el tema de como hacer un replace con expresiones regulares en el foro de SQL Server en Foros del Web. Hola amigos, necesitaria saber como hacer un replace con expresiones regulares desde phpmyadmin la idea es correr la siguiente consulta Código PHP: UPDATE wp_posts SET post_content  =  REPLACE  ...
  #1 (permalink)  
Antiguo 12/10/2012, 09:08
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
como hacer un replace con expresiones regulares

Hola amigos, necesitaria saber como hacer un replace con expresiones regulares desde phpmyadmin

la idea es correr la siguiente consulta

Código PHP:
UPDATE wp_posts SET post_content REPLACE post_content'?attachment_id=XXXX''./' ); 
donde XXXX serian números aleatorios

gracias
  #2 (permalink)  
Antiguo 12/10/2012, 10:48
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 8 años, 7 meses
Puntos: 40
Respuesta: como hacer un replace con expresiones regulares

Escuché en el pasado el término "expresiones regulares" aunque no se que significa exactamente..

Que es lo que tu quires hacer en este caso?
Por ejemplo- cambiar 'attachment_id=XXXX' en './' ?
Poner './' antes de cada 'attachment_id=XXXX'?
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog

Última edición por GeriReshef; 12/10/2012 a las 10:55
  #3 (permalink)  
Antiguo 14/10/2012, 16:53
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como hacer un replace con expresiones regulares

hola gracias por tu ayuda

lo que necesito hacer es reemplazar todas la url completa

http://androiadn.com/?attachment_id=1
http://androiadn.com/?attachment_id=2
http://androiadn.com/?attachment_id=3
http://androiadn.com/?attachment_id=16
http://androiadn.com/?attachment_id=12352353

por un ./

saludos
  #4 (permalink)  
Antiguo 15/10/2012, 03:09
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 8 años, 7 meses
Puntos: 40
Respuesta: como hacer un replace con expresiones regulares

Espero que entiendo el problema.
Hay que cambiar la "cola" de las cadenas en './'
si es '?attachment_id=XXXX' (los X's representan digitos):
Código SQL:
Ver original
  1. CREATE TABLE #T1(S VARCHAR(MAX));
  2. INSERT INTO #T1 SELECT 'http://androiadn.com/?attachment_id=1';
  3. INSERT INTO #T1 SELECT 'http://androiadn.com/?attachment_id=2';
  4. INSERT INTO #T1 SELECT 'http://androiadn.com/?attachment_id=3';
  5. INSERT INTO #T1 SELECT 'http://androiadn.com/?attachment_id=16';
  6. INSERT INTO #T1 SELECT 'http://androiadn.com/?attachment_id=12352353';
  7.  
  8. DECLARE @S VARCHAR(MAX);
  9. SET     @S='?attachment_id=';
  10. WITH T AS
  11. (SELECT PatIndex('%'+@S+'%',S) N,
  12.         *
  13. FROM    #T1)
  14. SELECT  S,
  15.         LEFT(S,N-1)+'./' S1
  16. FROM    T
  17. WHERE   N>0
  18.         AND IsNumeric(RIGHT(S,Len(S)-N-Len(@S)+1))=1;
No conosco el tema de las expresiones regulares,
de lo que yo se- TSQL no los apoya,
y para obtener una solución sistematica hay que implicar código de CLR (otro tema que tampoco conosco).
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog

Etiquetas: expresiones, regulares, replace
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 06:06.