Oracle处理特殊字符

 

 

 

检查数据库级的参数设置

select * from nls_database_parameters;

 

 

 

检查实例级的参数设置

select * from nls_instance_parameters

 

检查会话级的参数设置

select * from nls_session_parameters

 

 

检查本地的语言环境

SELECT USERENV('LANGUAGE') FROM DUAL;

 

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

开始处理

  1. 查询    的 ASCII 码

SELECT ASCII()  FROM  DUAL;

 

 

 

可以看到 该字符的 ASCII码 是 7

 

2. 反写确认是否一致

SELECT CHR(7)  FROM  DUAL;

 

没问题

 

---------------------------------------------------------------------------------------------------------------------------

问题:由于录入图书时 图书作者 有特殊字符 ‘’,所以在页面显示 图书作者 有错误,总是出现 ‘•’。现象很明显是   不能正常显示,因此在录入数据的时候 用replace()函数做了判断,采用如下把 字符 ‘•’  替换为 chr(7)。如下:

replace(bk_author,'&'||'#8226;',chr(7))  由于 ‘&’ 是oracle绑定变量的标示符,因此对’&’做了处理

 

以下附带 其它特殊字符的 ASCII码

DECLARE

 V01 VARCHAR2(5);

 BEGIN

 FOR I IN 1..100 LOOP

 SELECT CHR(I) INTO V01 FROM DUAL;

  DBMS_OUTPUT.PUT_LINE('chr'||i||' is '||V01);

 END LOOP;

 END;

 

 

https://it.wikipedia.org/wiki/ASCII

转载于:https://www.cnblogs.com/iyoume2008/p/4761724.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值