SQL 删除不想要的字符

SQL 删除不想要的字符,你想从你的数据里删除指定的字符,考虑下面的结果集。

SQL 删除不想要的字符 问题描述

你想从你的数据里删除指定的字符,考虑下面的结果集。

ENAME             SAL
---------- ----------
SMITH             800
ALLEN            1600
WARD             1250
JONES            2975
MARTIN           1250
BLAKE            2850
CLARK            2450
SCOTT            3000
KING             5000
TURNER           1500
ADAMS            1100
JAMES             950
FORD             3000
MILLER           1300

你希望从上面的数据里删除所有的 0 和元音字母,并将删除后的值显示在 STRIPPED1 列和 STRIPPED2 列中。

ENAME      STRIPPED1         SAL STRIPPED2
---------- ---------- ---------- ---------
SMITH      SMTH              800 8
ALLEN      LLN              1600 16
WARD       WRD              1250 125
JONES      JNS              2975 2975
MARTIN     MRTN             1250 125
BLAKE      BLK              2850 285
CLARK      CLRK             2450 245
SCOTT      SCTT             3000 3
KING       KNG              5000 5
TURNER     TRNR             1500 15
ADAMS      DMS              1100 11
JAMES      JMS               950 95
FORD       FRD              3000 3
MILLER     MLLR             1300 13

SQL 删除不想要的字符 解决方案

方案每个数据库管理系统都提供了可以删除一个字符串里不想要的字符的函数,其中最有用的函数是 REPLACETRANSLATE
DB2
使用内置函数 TRANSLATEREPLACE 删除不想要的字符和字符串。

1 select ename,
2        replace(translate(ename,'aaaaa','AEIOU'),'a','') stripped1,
3        sal,
4        replace(cast(sal as char(4)),'0','') stripped2
5   from emp

MySQLSQL Server
MySQL 和 SQL Server 没有提供 TRANSLATE 函数,因而需要多次调用 REPLACE 函数。

1  select ename,
2         replace(
3         replace(
4         replace(
5         replace(
6         replace(ename,'A',''),'E',''),'I',''),'O',''),'U','')
7         as stripped1,
8         sal,
9         replace(sal,0,'') stripped2
10   from emp

Oracle 和 PostgreSQL
使用内置函数 TRANSLATEREPLACE 删除不想要的字符和字符串。

1  select ename,
2         replace(translate(ename,'AEIOU','aaaaa'),'a')
3         as stripped1,
4         sal,
5         replace(sal,0,'') as stripped2
6    from emp

SQL 删除不想要的字符 扩展知识

内置函数 REPLACE 会删除 0。为了删除元音字母,先使用 TRANSLATE 函数把元音字母替换成一个特殊的字符(我选择了字母 a,当然也可以选其他字符),然后使用 REPLACE 函数删除这个特殊字符。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程