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