ORA-29275部分多字节字符处理
来源:互联网 发布:天刀ol捏脸数据 编辑:程序博客网 时间:2024/05/16 11:16
1.在oracle中字段中找出汉字的方法:可以利用length(testname)和lengthb(testname),其中length(testname)不论数字或者字符都算一个,
而lengthb则不同,比如说testname的值为:54看法12,用length(testname)的值为6,而lengthb(testname)的值为:8。
利用这个就可以非常清楚的判断一个字符中是否包含汉字了(字母除外)。
to_single_byte(c)转换成半角
to_multi_byte(c)转换成全角
实例:
SELECT '12345',
FROM dual;
12345 Typ=96 Len=10: 163,177,163,178,163,179,163,180,163,181 12345 12345 Typ=1 Len=5: 49,50,51,52,53
实际例子:
select * from TB_SHINTECH_IQC_BASE_INFO
报错:ORA-29275
解决方法如下:
方法一:
select mtrl_id,DEF_STATE,lengthb(DEF_STATE),lengthb(TO_SINGLE_BYTE(DEF_STATE)) from TB_SHINTECH_IQC_BASE_INFO
update TB_SHINTECH_IQC_BASE_INFO set DEF_STATE=TO_SINGLE_BYTE(DEF_STATE) where lengthb(DEF_STATE)<>lengthb(TO_SINGLE_BYTE(DEF_STATE))
select addr from test_app
如果addr中有半个中文字符则会报这个异常,原因为Oracle编码问题。
解决方法二:开发改SQL语句
select to_nchar(addr) from test_app
解决方法三:改数据库字符集
检查他们Oracle的nls_lang环境变量,发现他们客户端的nls_lang设置为
american.
改成export NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280后, 就正常了。
阅读全文
0 0
- ORA-29275部分多字节字符处理
- .oracle 如何处理错误ORA-29275:部分多字节字符
- ORA-29275:部分多字节字符
- ORA-29275:部分多字节字符
- ORA-29275:部分多字节字符
- ORA-29275:部分多字节字符
- ORA-29275:部分多字节字符
- ORA-29275:部分多字节字符
- Oracle ORA-29275:部分多字节字符
- ORA-29275部分多字节字符
- ORA-29275部分多字节字符的奇怪问题
- ORA-64204: 出现部分多字节字符
- J2EE中的多字节字符处理
- J2EE中的多字节字符处理
- 单字节字符与多字节字符的处理
- php处理多字节字符mbstring及编码转换iconv
- 宏 宽字符转多字节 多字节转宽字符
- unicode转多字节字符
- 一个 Google 汉堡引发的惨案
- 使用 PowerShell 将数据磁盘附加到 Windows VM
- Android studio NDK开发 从入门到实践三
- 如何使用CNN推理机在IoT设备上实现深度学习
- Tensorflow经典案例
- ORA-29275部分多字节字符处理
- fscanf用法解析
- 超神之路之PWN训练之1之fd
- axel命令
- spring注入方式(二)
- Floyd算法重建路径
- [转] ueditor Java版更改上传文件路径
- 正则表达式(笔记一)
- [Leetcode] 495. Teemo Attacking 解题报告