Oracle的SQL语句中如何处理‘&’符号

在Oracle中,如果在sql中出现'&'符号,会被自动转义;

而被要求输入在&符号后跟随的字符串的值,例如:

update tablename set columnName='http://www.g.cn/cv2.jsp?spid=222&cid=333';

执行这个操作时,Oracle会提示

Enter value for cid:

原因是在Oracle中 & 符号是作为转义字符使用的。

解决方法:

用Oracle的字符串处理函数chr处理。chr(38)表示 &符号

改写:

update tablename set columnName='http://www.g.cn/cv2.jsp?spid=222'||chr(38)||'cid=333';

由此联想开去,在数据库中存入html的一些符号式,很可能都会出现这种情况,那么如法炮制即可,如果有些符号的编码不知道的,可以通过下面的方法来查询:

select ascii('&') from dual;

相关文档:

1:当 SQL 语句引用非索引视图时,分析器和查询优化器将分析 SQL 语句的源和视图的源,然后将它们解析为单个执行计划。没有单独用于 SQL 语句或视图的计划。

2:索引视图的行以表的格式存储在数据库中。如果查询优化器决定使用查询计划的索引视图,则索引视图将按照基表的处理方式进行处理 ......

Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2010 10:57AM

Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06

Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16

Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06

Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06

Select CONVERT(varch ......

Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM

Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06

Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16

Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06

Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06

Select CONVERT(varch ......

1,一个完整的PL/SQL 语句由三个部分组成。

declare

声明部分,定义变量,数据类型,异常,局部子程序等。

&nb ......

1.sql是一种脚本语言

2.sql可写脚本程序,但最重要的作用发挥在对数据库的操作上

3.sql server2005中的注释有两种/***/多行注释,--可以单行注释

4.sql中的自定义变量以@开头,系统变量以@@开头

5.sql中声明变量和VB类似,使用declare声明变量如:declare @i int,@j int,此语句声明了2个整形变量@i和@j

6.sql中的数据 ......

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐