当前位置:Gxlcms > 数据库问题 > Oracle的双引号问题

Oracle的双引号问题

时间:2021-07-01 10:21:17 帮助过:38人阅读

tt.* from (
    
select u.chapter_id as "chapterId",        case when u.chapter_id=u.f_id then u.chapter_name else 123 end as "chapterName",
         u.update_time
as "updateTime"    from T_USER_INFO u ) tt   where tt.chapterName = haha;

此时报错tt.chapterName未无效字符

那么首先判断单双引号及分号不是中文字符,发现问题还是出在chapterName上,执行除where条件以外的SQL是有结果的,

于是研究别名的双引号是不是有问题,发现去除别名的双引号后,整个SQL执行成功;

在百度之后了解到,Oracle里打双引号是为了特殊字符(如:_,中文字符等)和严格区分大小写的,如果不加的话会默认是大写,所以在where里的chapterName去匹配的是CHAPTERNAME,所以找不到。

 

  

Oracle的双引号问题

标签:datetime   info   sel   去除   case   rac   col   结果   大小   

人气教程排行