2013-02-26 40 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