论坛首页 入门技术论坛

Oracle substr 截取nvarchar2 问题

浏览 1280 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2016-04-20  

 

 

-- 查询业务类型 
-- 数据内容为: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