Php 按字符串排序的原则区分大小写
在我的Symfony应用程序中,当我通过(使用查询生成器或其他任何工具)订购时,订单是错误的 如果我使用sql客户机执行请求,结果是正确的 例如:Php 按字符串排序的原则区分大小写,php,sql,oracle,symfony,doctrine,Php,Sql,Oracle,Symfony,Doctrine,在我的Symfony应用程序中,当我通过(使用查询生成器或其他任何工具)订购时,订单是错误的 如果我使用sql客户机执行请求,结果是正确的 例如: $rsm = new ResultSetMapping(); $rsm->addScalarResult('NAME', 'NAME'); //Without uppercase $sql = "SELECT * FROM Category ORDER BY NAME ASC"; $query = $e
$rsm = new ResultSetMapping();
$rsm->addScalarResult('NAME', 'NAME');
//Without uppercase
$sql = "SELECT * FROM Category ORDER BY NAME ASC";
$query = $em->createNativeQuery($sql, $rsm);
$categories = $query->getResult();
dump($categories);
/*
* Return:
* - Bcd
* - abc
* - xyz
*/
//With uppercase
$sql = "SELECT * FROM Category ORDER BY UPPER(NAME) ASC";
$query = $em->createNativeQuery($sql, $rsm);
$categories = $query->getResult();
dump($categories);
/*
* Return:
* - abc
* - Bcd
* - xyz
*/
使用命令行执行SQL查询:
SQL> select NAME from Category order by NAME ASC;
NAME
-------------------------------------------------------------------
abc
Bcd
xyz
你有什么办法来解决这个问题吗?错了吗?显示一些当前(错误)顺序以及所需顺序的示例行。(请使用格式化文本。无图像。)我已更新了问题,我希望在使用SQL客户端和条令执行请求时得到相同的结果。您是否100%确定这两个查询是针对同一个表和数据库进行的?这两种情况下的排序规则似乎不同(第二种情况下是ci)controller@ElliotBrl这不是我要问的问题我要问的是,您在“控制器”中连接的数据库是否与您使用SQL客户端连接的数据库相同?你百分之百确定吗?错了?显示一些当前(错误)顺序以及所需顺序的示例行。(请使用格式化文本。无图像。)我已更新了问题,我希望在使用SQL客户端和条令执行请求时得到相同的结果。您是否100%确定这两个查询是针对同一个表和数据库进行的?这两种情况下的排序规则似乎不同(第二种情况下是ci)controller@ElliotBrl这不是我要问的问题我要问的是,您在“控制器”中连接的数据库是否与您使用SQL客户端连接的数据库相同?你百分之百确定吗?