partir sé que ha sido bastante Hace un tiempo desde que se hizo esta pregunta, pero me encontré con ella y pensé que sería un buen desafío para mi sustituto de expresiones regulares personalizado. Consulte this blog post.
... Y la buena noticia es que sí, aunque debe llamarse varias veces. Ver this online rextester demo, que muestra el funcionamiento que llegó al SQL a continuación.
SELECT reg_replace(
reg_replace(
reg_replace(
reg_replace(
reg_replace(
reg_replace(
reg_replace(txt,
'[^0-9]+',
',',
TRUE,
1, -- Min match length
0 -- No max match length
),
'([0-9]{3,}|,[0-9],)',
'',
TRUE,
1, -- Min match length
0 -- No max match length
),
'^[0-9],',
'',
TRUE,
1, -- Min match length
0 -- No max match length
),
',[0-9]$',
'',
TRUE,
1, -- Min match length
0 -- No max match length
),
',{2,}',
',',
TRUE,
1, -- Min match length
0 -- No max match length
),
'^,',
'',
TRUE,
1, -- Min match length
0 -- No max match length
),
',$',
'',
TRUE,
1, -- Min match length
0 -- No max match length
) AS `csv`
FROM tbl;
Hmm - No creo que estaba claro en mi post original, pero el texto original tiene una gran cantidad de texto 'pelusa' que rodea el número ... necesito "extraer" el número de ella . Y puede haber más de 1 número en un texto original ... – Steve
He actualizado la respuesta. – Pentium10