如何在sql中只从字符串中获取字母

时间:2018-02-05 07:53:50

标签: sql oracle

我有一张桌子“Temp”。我想从下表中只提取字母表,并希望输出如下: 的 COL

ABC123
456CDE
F789GH

输出

ABC
CDE
FGH

2 个答案:

答案 0 :(得分:2)

如果使用支持REGEXP_REPLACE的数据库,请使用:

SELECT REGEXP_REPLACE(col, '\d', '', 'g') FROM yourTable;

上面是你要为Postgres做的电话,对于Oracle,你不需要g贪婪标志,因为默认情况下替换将是贪婪的。

如果使用没有正则表达式替换支持的数据库,例如MySQL或SQL Server,然后我们仍然可以单独替换每个数字:

SELECT
    REPLACE(REPLACE(REPLACE(col, '9', ''), '8', ''), '7', '')  -- ... replace 1-6 also
FROM yourTable;

答案 1 :(得分:0)

如果您使用的是oracle,可以使用REGEXP_REPLACE

 SELECT REGEXP_REPLACE(col,'[0-9]','') FROM Temp