oracle nvarchar2 字符集不匹配,Oracle中NVARCHAR2字符集不匹配问题
Oracle中在做字符匹配時(shí) 遇到 NVARCHAR2 類型時(shí)報(bào)錯(cuò),提示 字符集不匹配。
對(duì)使用 NVARCHAR2 的地方,需要對(duì)字段進(jìn)行字符轉(zhuǎn)換,加上 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提供的特定數(shù)據(jù)類型,Oracle可以保證VARCHAR2在任何版本中該數(shù)據(jù)類型都可以向上和向下兼容。
VARCHAR在Oracle中不建議使用。
NVARCHAR2和VARCHAR2的區(qū)別:
從使用角度來看區(qū)別在于:NVARCHAR2在計(jì)算長(zhǎng)度時(shí)和字符集相關(guān)的,例如數(shù)據(jù)庫是中文字符集時(shí)以長(zhǎng)度10為例,則
1、NVARCHAR2(10)是可以存進(jìn)去10個(gè)漢字的,如果用來存英文也只能存10個(gè)字符。
2、而VARCHAR2(10)的話,則只能存進(jìn)5個(gè)漢字,英文則可以存10個(gè)。
原文:http://www.cnblogs.com/zxpsl/p/4993009.html
總結(jié)
以上是生活随笔為你收集整理的oracle nvarchar2 字符集不匹配,Oracle中NVARCHAR2字符集不匹配问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 京东股权分配介绍 刘强东只是第二大股东
- 下一篇: 生活省钱小妙招 这几个你都不知道