oracle 查询忽略大小写

数据库有4 条记录,分别是 'KKK'  'kkk'   'KkK'  'kKk'

(1)select * from t_vvip t  where t.name=lower('KkK') or t.name=Upper('KkK');
     仅转换了查询的字符串, 即查询的内容要么全部小写,要么全部大写。所以只能查到2条记录
      
(2)   select * from t_vvip t  where lower(t.name)='KkK' 
         仅转换了字段内容为小写,但查询的字符串为大小写都有, 0条

       select * from t_vvip t  where upper(t.name)='KkK';   
       仅转换了字段内容为大写,但查询的字符串为大小写都有, 0条

(3)select * from t_vvip t  where lower(t.name)=lower('KkK');
   即转换了字段内容又转换了查询的字符串,这样最安全,但性能也是最低的。4条
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐