php - 按字符串排序的原则区分大小写
问题描述
在我的 Symfony 应用程序中,当我(使用查询构建器或其他任何东西)订购时,顺序是错误的。
如果我用我的 sql 客户端发出请求,结果是正确的。
例子:
$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
你有什么想法来解决这个问题吗?
解决方案
推荐阅读
- netlogo - 比较 netlogo 中的坐标时应该使用哪个原语?
- javascript - 如何在 React 中一次拖动多个对象?
- python - 安装nodejs问题
- vue.js - Vuejs如何在单个组件中使用重复方法
- c - 为什么在 C 中声明函数参数之前使用“const *”?
- swift - 如何更新不同视图控制器中的标签?
- azure - 创建流式定位器时在 Azure 媒体服务上出现间歇性错误
- javascript - 发布 Chrome 扩展程序的问题
- javascript - DataTables ajax 高级搜索
- python - 两个数组之间的 Python/Numpy 广播连接