MySql排序varchar包含文本+数字数据

时间:2013-10-10 10:43:31

标签: mysql sorting varchar

我想通过包含文本和数字数据的varchar字段进行排序。

数据库中的值/以及输出的顺序   “通过CAST命令(product已签名)”

  • Doppel 80x200cm
  • 经典100x200cm
  • Mega 240x250
  • 经典85x200cm
  • Profi 60x235cm

我想要的订单首先是文字而不是数字: (请记住,产品名称可以是以下之一:仅文本,文本+数字,文本+数字+文本)

  • 经典85x200cm
  • 经典100x200cm
  • Doppel 80x200cm
  • Mega 240x250
  • Profi 60x235cm

我在没有正确结果的情况下尝试了以下内容:
“通过CAST订购(SUBSTRING(产品,LOCATE('',产品)+1)AS SIGNED)ASC”
  “产品REGEXP'^ [0-9] + $'THEN产品* 1其他999999 END”

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

这个解决方案非常接近。当然,你必须先将名字放在php数组中。 http://php.net/manual/de/function.natcasesort.php