如何用"%"替换数字字符在MySQL?
即:abcd 1234 zz => abcd %%%% zz
我有什么:
Declare cursorVideoTitles cursor for select temp_playList.VideoTitle
from temp_playList where temp_playList.VideoTitle regexp '^[A-Za-z0-9]+$';
cursorVideoTitles包含所有字母数字视频节目。在此之后,我需要用"%"
替换数字字符原因: 我需要在其他具有相同字母表的表中搜索它。 所以我先把所有这些值都放在游标变量中,然后用类似的查询迭代它,这样我就会得到匹配的记录。
答案 0 :(得分:3)
不幸的是,MySQL没有正则表达式替换功能,你必须单独替换每个数字。
SELECT
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(VideoTitle, '0', '%'),
'1', '%'),
'2', '%'),
'3', '%'),
'4', '%'),
'5', '%'),
'6', '%'),
'7', '%'),
'8', '%'),
'9', '%') AS TitleMasked
答案 1 :(得分:-1)
我能想到的最简单的事情就是:
SELECT REPLACE('abcd1234zz','1234','%%%%');
此查询查看值中是否有1234并将其替换为4%