20、oralce中单引号和双引号的区别
20、oralce中单引号和双引号的区别:
20.1、单引号和双引号oracle都支持,但是两者是有区别的;
20.2、双引号在 Oracle 中的作用:
1、双引号的作用是:假如建立对象的时候,对象名、字段名加双引号,则示意Oracle将严格区分大小写,否则Oracl都默认大写。
2、双引号引住字段名:
(1)普通字段:
select * from emp where "ENAME" = scott;
因为双引号提示oracle严格区分大小写,如下则不行;
select * from emp where "ename" = scott;
(2)字段是关键字:
假如你有个表的字段叫sysdate,因为sysdate属于oracle中的特有字符,但你要查询这个字段的时候需要使用
select "SYSDATE" from table_name;
但是你要是用
select 'SYSDATE' from table_name;
那么你查出来的就是字符串,结果是SYSDATE。
20.3、单引号在 Oracle 中的作用:
1、引用一个字符串常量,也就是界定一个字符串的开始和结束;
例如:
select * from table_name where id=1;
#这种代表查询的是数字
select * from table_name where id='1';
#这种代表查询的是字符
2、转义符,对紧随其后出现的字符(单引号)进行转义:
两个单引号可以作为单引号的转义使用,意思就是一个真正的、没有特殊功能的单引号。
update device set dept='select * from message where name='tom' ';
#更新语句不可以
update device set dept='select * from message where name=' 'tom' ' where id=3';
#更新语句可以。
select substr('I''am a liuchang',1,4);
3、表示它本身,也就是它作为一个字符串的一部分而出现在一个字符串常量中:
如果单引号出现在表达式中间(即非表达式开头和结尾的单引号),且多个单引号之间没有任何其他字符,那么当我们从左向右分析时,第一对单引号中的
第一个是转义符,它对紧随其后的第二个单引号进行转义,以使第二个单引号作为一个字符出现在一个字符串常量中,第二对,第三对,以此类推......。
示例一:
select '''' from dual;
result '
表达式 '''' 中第1、4个单引号表示引用一个字符串常量,表达式的剩余部分我们从左往右分析,由于中间是一对单引号,故此对中的第一个是转义符,对第二
个进行转义,使第二个表示单引号本身。分析得出这里有一个字符串常量,其中只有一个单引号字符。
示例二:
select 'exit''''' from dual
result exit''

浙公网安备 33010602011771号