我想按包含文本和数字数据的 varchar 字段进行排序。
数据库中的值 / 以及使用
“ORDER BY CAST( product
AS SIGNED)”输出的顺序
- 分身80x200cm
- 经典100x200cm
- 超级 240x250
- 经典85x200cm
- 专业 60x235cm
我想要的订单是先按文本而不是按数字的顺序:(请记住,产品名称可能是以下之一:纯文本、文本+数字、文本+数字+文本)
- 经典85x200cm
- 经典100x200cm
- 分身80x200cm
- 超级 240x250
- 专业 60x235cm
我还尝试了以下没有正确结果的方法:
“ORDER BY CAST(SUBSTRING(product,LOCATE(' ',product)+1) AS SIGNED) ASC”
“ORDER BY CASE WHEN product REGEXP '^[0-9]+$ ' THEN 产品*1 else 999999 END"
任何帮助,将不胜感激!