Dada uma tabela com uma coluna chamada files_name, e você deseja corresponder tudo após a correspondência com regex e substituÃ-lo por nada.
Eu tenho esse código, mas corresponde a tudo, mas sempre mudou 0.
UPDATE files
SET files_name = REGEXP_REPLACE (files_name, 'S[0-9]?[0-9]?[0-9]E[0-9]?[0-9]\K.*', '')
WHERE type = 5;
Um testador de regex on-line diz que meu regex está correto e está correspondendo conforme desejado, mas não importa o que eu coloque no segundo ''
, ele nunca substitui a correspondência.
Estou usando o mariadb 10.3.17
violino
ATUALIZAR
Você precisa citar uma barra:
Então você usaria
'\\\\1'
.Você pode evitar o uso de barra usando
CONCAT(CHAR(92), '1')
em vez de'\\1'
no texto da consulta - nesse caso, não há slaches no SQL e as aspas não precisam.