如何从mysql中包含字母数字字符串的列中仅提取String部分

时间:2018-03-09 06:11:27

标签: mysql sql database

我的mysql数据库中有一个alphaNumeric列,如INV0001和许多值,如INVI000040,其中字母可以是可变长度,整数可以是可变长度。我想从这一列中只提取字母串。我在google上搜索过我发现的关于PATINDEX但是在mysql中没有。请提供一些与此问题相关的提示。我无法理解如何做到这一点。

1 个答案:

答案 0 :(得分:0)

MySQL确实有任何本地正则表达式替换支持,至少在写这个答案的时候没有。但是,如果您只想要字母组件,可以尝试删除所有数字:

SELECT
    col,
    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
        REPLACE(col, '9', ''), '8', ''), '7', ''), '6', ''), '5', ''), '4', ''),
         '3', ''), '2', ''), '1', ''), '0', '') AS alpha_only
FROM yourTable;

enter image description here

Demo