程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle中NVARCHAR2字符集不匹配問題,oraclenvarchar2

Oracle中NVARCHAR2字符集不匹配問題,oraclenvarchar2

編輯:Oracle教程

Oracle中NVARCHAR2字符集不匹配問題,oraclenvarchar2


   Oracle中在做字符匹配時 遇到 NVARCHAR2 類型時報錯,提示 字符集不匹配。

對使用 NVARCHAR2 的地方,需要對字段進行字符轉換,加上 to_char(nvarchar2 字段) 即可。

 

   例如:

   SELECT substr(bm.matnr, 3) wlbm, ms.maktx wlms, bm.meins jldw, bm.matkl wlz
 , bm.normt gybzms,bm.laeda gxsj,(case to_char(trim(bm.lvorm)) when 'X' then '0' else '1' end) WLZT
   FROM makt ms, mara bm
  WHERE ms.matnr = bm.matnr;

 

   VARCHAR2是Oracle提供的特定數據類型,Oracle可以保證VARCHAR2在任何版本中該數據類型都可以向上和向下兼容。

   VARCHAR在Oracle中不建議使用。

 

   NVARCHAR2和VARCHAR2的區別:

   從使用角度來看區別在於:NVARCHAR2在計算長度時和字符集相關的,例如數據庫是中文字符集時以長度10為例,則

   1、NVARCHAR2(10)是可以存進去10個漢字的,如果用來存英文也只能存10個字符。

   2、而VARCHAR2(10)的話,則只能存進5個漢字,英文則可以存10個。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved