在PHP(oracle数据库)中使用OCI强制不区分大小写
好吧,标题解释得很好 我正在用PHP探索Oracle数据库 问题是数据库区分大小写,所以。。。当我执行这样的句子时在PHP(oracle数据库)中使用OCI强制不区分大小写,php,oracle,Php,Oracle,好吧,标题解释得很好 我正在用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 这是因为数据库区分大小写
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
这是因为数据库区分大小写,所以。。。如何在不修改数据库的情况下强制区分大小写?(我没有写权限)我假设在实际查询中,您有一个
GROUPBY
子句。您只需按上限(用户名)
当然,您也可以
选择和分组依据lower(username)
或initcap(username)
或任何其他将不同用户名值转换为单个值的函数。我假设在实际查询中您有一个分组依据
子句。您只需按上限(用户名)
当然,您也可以选择和分组方式lower(username)
或initcap(username)
或任何其他将不同用户名值转换为单个值的函数。您的假设是正确的,您的答案非常完美。我修改了这个问题,使它更明确,谢谢!(注意:如果您经常执行查询,在upper(username)
上建立索引将加快查询速度)您的假设是正确的,您的答案是完美的。我修改了这个问题,使它更明确,谢谢!(注意:如果您经常执行查询,在upper(username)
上建立索引将加快查询速度)
SELECT upper(username), count(*) cnt
FROM transactions
WHERE username IS NOT NULL
GROUP BY upper(username)