ORACLE 格式VARCHAR2(n CHAR) 与VARCHAR2(n)的区别
生活随笔
收集整理的這篇文章主要介紹了
ORACLE 格式VARCHAR2(n CHAR) 与VARCHAR2(n)的区别
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
數(shù)據(jù)從SOURCE表導(dǎo)到TARGET表因?yàn)槌L(zhǎng)進(jìn)不去。SOURCE這邊格式是VARCHAR2(255 CHAR), TARGET那邊格式是VARCHAR2(256),這兩個(gè)格式的區(qū)別在于: 數(shù)據(jù)庫(kù)存儲(chǔ)字符數(shù)字的字段使用BYTE存儲(chǔ),對(duì)單字節(jié)字符集這種方法很適用,有幾個(gè)字符就有幾個(gè)BYTE。但如果要插入多字節(jié)字符集的國(guó)際字符,BYTE和字符數(shù)不相等,BYTE數(shù)就會(huì)超長(zhǎng),導(dǎo)致數(shù)據(jù)進(jìn)不去。于是ORACLE 9i設(shè)置了三種格式來(lái)解決問(wèn)題: 1. VARCHAR2(n) 2. VARCHAR2(n BYTE) 3. VARCHAR2(n CHAR) 選項(xiàng)1 使用NLS_LENGTH_SEMANTICS參數(shù)中設(shè)定的默認(rèn)長(zhǎng)度,默認(rèn)值為BYTE 選項(xiàng)2 只允許最大n BYTE長(zhǎng)度的字符存儲(chǔ),和字符數(shù)無(wú)關(guān) 選項(xiàng)3 允許最大n 個(gè)字符的存儲(chǔ),與BYTE無(wú)關(guān) 無(wú)論何種格式,INSTR, LENGTH, SUBSTR函數(shù)仍以字符數(shù)來(lái)計(jì)算。用BYTE計(jì)算的話(huà),請(qǐng)使用INSTRB, LENGTHB, SUBSTRB函數(shù)。
轉(zhuǎn)載于:https://www.cnblogs.com/piaoyf/p/3429588.html
總結(jié)
以上是生活随笔為你收集整理的ORACLE 格式VARCHAR2(n CHAR) 与VARCHAR2(n)的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: wordpress使用二级域名绑定七牛云
- 下一篇: redmine常见问题