字符串里过滤不需要的字符
需求描述
需求:过滤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
执行结果
注:这里需要参考之前章节里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