如何用"%"替换数字字符在MySQL?

时间:2014-03-19 15:27:39

标签: mysql

如何用"%"替换数字字符在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包含所有字母数字视频节目。在此之后,我需要用"%"

替换数字字符

原因: 我需要在其他具有相同字母表的表中搜索它。 所以我先把所有这些值都放在游标变量中,然后用类似的查询迭代它,这样我就会得到匹配的记录。

2 个答案:

答案 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%