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