SELECT * FROM A where A.col1 = 'F&ORG'用shell调sqlplus,要查的是col1值为'F&ORG',但是总是提示输入变量&org
解决方案 »
- oracle数据库起不来了。。。nomount也起不来。。。。具体情况向下看
- 有关于批量增加数据库数据的SQL语句,麻烦大牛们给点快速的SQL语句
- pl/sql操作游标的问题,请帮忙,谢谢!
- 如何用批处理执行*.sql文件将数据导入到oracle数据库中?
- oracle存储过程的错误,请高手帮忙啊,头都大了
- 调查: 你们的生产库打没打过Oracle的安全补丁(CPU)
- 在存储过程中,下面的替换语句,在oracle中是怎么样的?
- 用Java从Oracle取数据的问题
- 1000分!!!!!!!急急急急!无法起动数据库,ORA-00600错误!!!!!
- 在oracle 怎样建立用户表
- 急!!!
- 。net 程序连接 oracle 10g 出现问题(8i正常)
----------------------------------------
scott&tiger
----------------------------------------
scott&tiger
F&ORG
INSERT INTO t_01 VALUES ('F'||'&'||'ORG')
SELECT * FROM t_01
SELECT * FROM t_01 WHERE col1='F'||'&'||'ORG'我这里这样倒是可以的
----------------------------------------
scott&tigerSQL> select * from test000 where "username"='F'||'&'||'ORG';username
----------------------------------------
F&ORG
我知道了,在sql*plus中使用转义符'\',要首先修改环境变量
set escape on
随后就可以使用转义符'\'了,例如
SQL>set escape on
SQL>select count(*) from employees where name='\[$1']
COUNT(*)
----------
0
SQL>select count(*) from employees where name='&1';
输入 1 的值: a
原值 1: select count(*) from employees where name='&1'
新值 1: select count(*) from employees where name='a'
COUNT(*)
---------
0
SQL> select 'F&org' from dual;
Enter value for org:
old 1: select 'F&org' from dual
new 1: select 'F' from dual
'
-
F
SQL> select 'F\&org' from dual;
'F&OR
-----
F&org
SQL>
谢谢大家回答
晚上回家结帖