0

我们有一个产品数据库,我们需要按名称 (AZ) 对它们进行排序,但如果产品名称以标点符号开头(例如¡A tapar! 或¡Adelgaza!),它应该出现在接近末尾而不是开头。有没有办法发出这样的查询?

4

2 回答 2

3

如果您只是想将 AZ 推到前面,并让其他所有内容自然排序,请使用以下命令:

ORDER BY case when PRODUCT_NAME like '[a-Z]%' then 1 else 2 end, PRODUCT_NAME
于 2012-09-18T21:01:45.277 回答
0

如果您可以提取需要忽略的标点符号列表,您实际上可以使用如下语句更改 MySQL 排序依据的值:

ORDER BY REPLACE(product_name, "¡", "")

您可以根据需要多次嵌套多个 REPLACE()。

这已经在这里问过了。

于 2012-09-18T20:49:19.050 回答