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類型  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM