Oracle中NVARCHAR2字符集不匹配问题
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個。?
總結
以上是生活随笔為你收集整理的Oracle中NVARCHAR2字符集不匹配问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平安普惠第二天还款上征信吗
- 下一篇: 白银td溢价为负数是什么意思