mysql - 通过不给出正确的输出作为负 (-) 大于正 (+) 的 ascii 值来排序
问题描述
为什么我的表没有根据 ASCII 值给出正确的输出。我已经写 select * from patient1 order by BLOOD_GROUP DESC;
了这样的查询,据我所知,O-ve,O+ve,...将作为输出出现,但我的输出作为 O+ve,O-ve,...
解决方案
排序工作正常。的 ASCII 码+
是 43,而 ASCII 码-
是 45,所以在字典顺序中+
确实应该排在前面。-
作为替代解决方案,您可以对是否blood_group
包含-
字符的布尔值 true/false 进行排序,然后blood_group
对它本身进行排序,以便在A
s 之前获得B
s:
SELECT *
FROM patient1
ORDER BY blood_group LIKE '%-%' DESC, blood_group
推荐阅读
- python-3.x - 使用 setup.cfg 和使用 attr 访问的版本时出现 ModuleNotFoundError
- vue.js - 降低 Vuetify 下拉菜单的高度
- python - 52张洗牌翻牌时的具体情况检查
- utf-8 - char数组数据的解码
- javascript - 将日期转换为格式 yyyy-MM-dd+timezone
- java - 复制文件的文件创建日期 java nio
- ansible - 即使显示成功,Ansible 也没有升级
- c# - 多个 AppDomain 泄漏一些对象
- c++ - 使用参数包在 C++ 中编写 lambda 函数
- apache - 如何在 Tomcat 中将 deployXML 设置为 false?