Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP(oracle数据库)中使用OCI强制不区分大小写_Php_Oracle - Fatal编程技术网

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

在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 这是因为数据库区分大小写

好吧,标题解释得很好

我正在用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

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

我假设在实际查询中,您有一个
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)