为什么我的表没有根据 ASCII 值给出正确的输出。我编写了类似 select * from patient1 order by BLOOD_GROUP DESC;
这样的查询,因此,据我所知,O-ve,O+ve,...将作为输出出现,但我的输出为 O+ve ,O-ve,...
最佳答案
排序工作正常。 +
的 ASCII 码是43,-
的ASCII码是 45,所以 +
确实应该在 -
之前出现按字典序排列。
作为替代解决方案,您可以根据 blood_group
是否为真/假 bool 值进行排序。包含 -
字符,然后在 blood_group
上本身所以你得到你的A
在你的 B
之前小号:
SELECT *
FROM patient1
ORDER BY blood_group LIKE '%-%' DESC, blood_group
关于mysql - 通过不给出正确的输出作为减号 (-) 大于加号 (+) 的 ascii 值来排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53830533/