首页 > 其他分享 >处理字符串_5_字符串里过滤不需要的字符

处理字符串_5_字符串里过滤不需要的字符

时间:2023-02-20 16:32:05浏览次数:36  
标签:tmp 字符 ename 0123456789 replace 过滤 字符串 translate data


                           字符串里过滤不需要的字符

需求描述

需求:过滤tmp_v视图里含数字的部分. 其中tmp_v视图的data字段的定义是emp表的ename字段拼接空格和deptno字段。

解决方法:这里通过translate函数对含数字的部分进行替换.

注: 数据库数据集SQL脚本详见如下链接地址

​​员工表结构和数据初始化SQL脚本​​

SQL代码

--SQL Server:
create view tmp_v
AS SELECT ename+' '+ cast(deptno as varchar) as data
from emp

SELECT data,replace(dbo.translate(data,'0123456789','@@@@@@@@@@'),'@','') as ename FROM tmp_v
order by replace(dbo.translate(data,'0123456789','@@@@@@@@@@'),'@','') desc

执行结果

处理字符串_5_字符串里过滤不需要的字符_SQL

这里需要参考之前章节里translate函数的实现.

--Mysql:
create view tmp_v
AS SELECT CONCAT(ename,' ',deptno) as data
from emp

SELECT data,replace(translate(data,'0123456789','@@@@@@@@@@'),'@','') as ename
FROM tmp_v
order by replace(translate(data,'0123456789','@@@@@@@@@@'),'@','') desc

 

标签:tmp,字符,ename,0123456789,replace,过滤,字符串,translate,data
From: https://blog.51cto.com/u_15080860/6068720

相关文章