duangang4001
2013-02-26 18:04
浏览 97

在PHP中使用OCI强制不区分大小写(oracle数据库)

Well, the title explains it well...

I'm using OCI to explore a Oracle database in PHP.

The trouble is that the database is case sensitive, so... when I execute a sentence like

SELECT COUNT(username) count, username FROM transactions WHERE username IS NOT NULL GROUP BY username

returns an array like this

COUNT USERNAME
213   EMG_COTORA
31    EMG_cotora
123   emg_cotora

This because the database is case sensitive, so... How do I force case insensitive without modifying the database? (I haven't write permission)

图片转代码服务由CSDN问答提供 功能建议

好吧,标题解释得很好......

我是 使用 OCI 来探索PHP中的Oracle数据库。 \ n

问题是数据库是区分大小写的,所以......当我执行像

  SELECT COUNT(用户名)计数的句子时,用户名FROM Transactions WHERE用户名 IS NOT NULL GROUP BY用户名
   
 
 

返回这样的数组

  COUNT USERNAME 
213 EMG_COTORA 
31 EMG_cotora  
123 emg_cotora 
   
 
 

这是因为数据库区分大小写,所以...如何在不修改数据库的情况下强制不区分大小写? (我没有写权限)

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doujianzi8521 2013-02-26 18:08
    已采纳

    I assume that in your actual query you have a GROUP BY clause. You would just need to group by the UPPER(username)

    SELECT upper(username), count(*) cnt
      FROM transactions
     WHERE username IS NOT NULL
     GROUP BY upper(username)
    

    You could also, of course, SELECT and GROUP BY lower(username) or initcap(username) or any other function that converts the different username values into a single value.

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题