双引号的感化是:若是创建对象的时候,对象名、字段名加双引号,则暗示Oracle将严酷区分大小写,不然Oracl都默认大写。
而单引号则暗示:那个加了单引号的字段是一个字类似字符串,其实不区分大小写。
单引号用于标识字符与数字的区别
当指定字符串文本时,必需用单引号将字符串文本引住。
Oracle10g之前,若是字符串文本里含有单引号,那么必需利用两个单引号暗示。例如:I'm a String!
字符串文本则为:string_var:='I''m a String!'
在oracle10g中能够利用其它分隔符(,[],{}等),留意,利用那些分隔符时,不只要在分隔符前后加单引号,还要带有前缀q。
例:string_var:=q'[I''m a String!]';
例如
select * from table_name where id=1;那种代表查询的是数字
select * from table_name where id='1';那种代表查询的是字符
若是是双引号是如许,假设你有个表的字段叫sysdate,因为sysdate属于oracle中的特有字符,但你要查询那个字段的时候
select "sysdate" from table_name;
但是你如果用
select 'sysdate' from table_name;
那么你查出来的就是字符串,成果是sysdate
利用如下的更新语句不可:update device set dept='select * from message where name='tom' ' ;
处理办法:
update device set dept='select * from message where name=' 'tom' '
where
id=3' ;
施行胜利。
本来,两个'' 暗示了一个'。