2013-02-26 39 views
0

那么敏感,标题解释得很好...力情况与OCI在PHP(oracle数据库)

我使用OCI探索PHP中的Oracle数据库。

麻烦的是,该数据库是区分大小写的,所以......当我执行像

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

一个句子返回这样

COUNT USERNAME 
213 EMG_COTORA 
31 EMG_cotora 
123 emg_cotora 

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

回答

4

我假设在你的实际查询中你有一个GROUP BY子句。你只需要组由UPPER(username)

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

你也可以,当然,SELECTGROUP BYlower(username)initcap(username)或不同的用户名值转换为单精度值其它任何功能。

+0

你的假设是正确的,你的答案是完美的。为了使它更加明确,我修改了这个问题,谢谢! – Alan 2013-02-26 18:11:06

+1

(注意:如果你经常执行查询,在'upper(username)'上索引会加快查询速度) – cwallenpoole 2013-02-26 18:11:48