仅在MySQL数据库中搜索和替换图像链接的特殊字符(å,ä,ö)

时间:2014-01-09 15:51:21

标签: mysql replace special-characters

我需要在MySQL数据库中替换特殊字符å,ä,ö(带a或o)。如何应用此搜索并仅替换以影响图像链接?图像有jpeg或jpg扩展名。

2 个答案:

答案 0 :(得分:1)

使用所需数据更新您的列。使用一系列替换,或编写自定义函数:

UPDATE mytable
SET link=REPLACE(link, 'ä,', 'a');

如果您的链接分散在文本中,您可以使用substring_index将其与使用www的文本分开。作为第一个分隔符,.jpg作为第二个分隔符,并在替换后重新连接文本的其余部分

set @a='sömetext www.göögle.com.jpg sömetext';
select concat(
substring_index(@a, 'www.', 1),
 'www.',
replace(substring_index(substring_index(@a, '.jpg', 1), 'www.', -1), 'ö','o'),
 '.jpg',
 substring_index(@a, '.jpg', -1)
);

>sömetext www.google.com.jpg sömetext

答案 1 :(得分:1)

解决了 -

UPDATE wp_postmeta SET meta_value = REPLACE(REPLACE(REPLACE(meta_value, 'å', 'a') , 'ä', 'a') , 'ö', 'o')
WHERE LOWER(RIGHT(meta_value, 5)) = '.jpeg'
   OR LOWER(RIGHT(meta_value, 4)) IN ('.jpg', '.gif', '.png')

您可能需要插入一个额外的参数来查找和替换大写字母。