Oracle中的双引号的作用


1.建表时加双引号,会保留表名的大小写写入数据库,

注意: 双引号没有写进数据库,而select时Oracle会默认转成大写去数据字典中查找,当然找不到啦

  1. sys@ziling> conn scott/scott  
  2. 已连接。  
  3. scott@ziling> create table"The"(name varchar2(50));  
  4. 表已创建。  
  5.    
  6. 已选择 1 行。  
  7. scott@ziling> select * from The;  
  8. select * from The  
  9.               *  
  10. 第 1 行出现错误:  
  11. ORA-00942: 表或视图不存在  
  12.    
  13. scott@ziling> select * from"The";  
  14. 未选定行  
  15. scott@ziling> SELECT segment_name FROMdba_segments where segment_name='The';  
  16. SEGMENT_NAME  
  17. ---------------------------------------------------------------------------------   
  18. The  
  19. 已选择 1 行。 

2.双引号用在字符串中当成普通字符处理,且不一定要成对出现。

  1. scott@ziling> select 'hh24"小时""mi"分"""ss"秒"' ASRESULT from dual;  
  2. RESULT  
  3. -------------------------   
  4. hh24"小时""mi""""ss"秒"  
  5. 已选择 1 行。  

3.双引号用在to_char函数里的字符串中时,有特殊作用,可以将特殊字符包起来,避免出现ORA-01821: date format not recognized错误。也就是说,去掉双引号和其包含的字符后,剩下的应该是一个合法的格式串。

select to_char(sysdate, 'hh24"小时"mi"分"ss"秒"') ASRESULT from dual;  

相关内容