DM8的SQL使用基础-TRANSLATE应用

学习目标:

掌握TRANSLATE的用法


语法:

TRANSLATE 应用广泛,可实现字符替换。语法格式如下:

TRANSLATE(expr,from_string,to_string)

from_string 与 to_string 以字符为单位,对应字符逐个替换。示例语句如下所示:


演示案例:

在DM管理工具中或者disql中输入以下代码

 SELECT TRANSLATE ('ab你好bcadefg', 'abcdefg', '1234567') AS new_str FROM DUAL;


输出:

 

 演示案例:

如果 to_string 为空,则直接返回空值。示例语句如下所示:

 SELECT TRANSLATE ('ab你好bcadefg', 'abcdefg', '') AS new_str FROM DUAL;


输出:

  演示案例:

如果 to_string 对应的位置没有字符,from_string 中列出的字符将会被删除。示例语句如下所示:

SELECT TRANSLATE('ab你好bcadefg','1abcdefg','1') AS new_str FROM DUAL;


输出:

 

按数字和字母混合字符串中的字母排序

为了实现混合字符串排序,首先需创建如下视图:

CopyCREATE OR REPLACE VIEW v AS
   SELECT postal_code || ' ' || city_id AS data FROM dmhr.location;

查询视图信息,示例语句如下所示:

CopySELECT * FROM v;

我们可以使用 translate 替换功能,把数字和空格都替换为空,然后再进行排序。示例语句如下所示:

Copy  SELECT data, TRANSLATE (data, '- 0123456789', '-') AS oper_type
    FROM v
   WHERE ROWNUM < 5
ORDER BY 2;

输出结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值