`

Oracle substr 截取nvarchar2 问题

阅读更多

 

 

-- 查询业务类型 
-- 数据内容为:2,3,4  
-- 需求截取第一个字符

select ris.info_sys_guid,
         substr(ris.business_type ,1,1) business_type
    from rec_info_sys ris

结果business_type 显示为空。

后查看数据类型为nvarchar2  对varchar2类型做测试正常

故对nvarchar2 进行转换成varchar2

select ris.info_sys_guid,
       substr(utl_raw.cast_to_varchar2(utl_raw.cast_to_raw(Translate(ris.business_type USING CHAR_CS))),1,1) business_type
  from rec_info_sys ris ;


Translate(ris.business_type USING CHAR_CS) 用于汉字和特殊字符的转换

utl_raw.cast_to_varchar2(utl_raw.cast_to_raw(ris.business_type )) 转换成varchar2,只能转换纯英文字符

最后截取就从1开始 截取一位  正常

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics