Oracle中NVARCHAR2与VARCHAR2的相互转换

将NVARCHAR2转换为VARCHAR2:   
 

Sql代码  收藏代码
  1. declare     
  2.       v_username   varchar2(12)   ;     
  3.       v_nm_login   nvarchar2(12);     
  4.   begin     
  5.       select   utl_raw.cast_to_varchar2(utl_raw.cast_to_raw(v_nm_login))     
  6.           into   v_username     
  7.           from   dual;     
  8.   end;   

  
    
  将VARCHAR2转换为NVARCHAR2:   
 

Sql代码  收藏代码
  1. declare     
  2.       v_username   varchar2(12)   :=   'pavan408';     
  3.       v_nm_login   nvarchar2(12);     
  4.   begin     
  5.       select   utl_raw.cast_to_nvarchar2(utl_raw.cast_to_raw(v_username))     
  6.           into   v_nm_login     
  7.           from   dual;     
  8.   end;     




补充,以上转换如果含有汉字有可能转换失败,都成了“??”,可以用Translate函数来转换 
例如 

Sql代码  收藏代码
    1. Translate('你好' USING NCHAR_CS)--此处的“你好”是varchar类型  
    2. Translate(yourWords USING CHAR_CS)--此处的yourWords是nvarchar类型  
posted @ 2017-07-05 13:21  左正  阅读(25876)  评论(0编辑  收藏  举报