排序别名使用中文出错

来源:互联网 发布:跟淘宝联盟类似的网站 编辑:程序博客网 时间:2024/05/22 01:48

  • 问题描述
  • 问题解决

问题描述

在学习MySQL的时候, 使用 ORDER BY 关键字对指定的列进行排序的时候可以使用列的别名,比如

SELECT    id,    productName,    dir_id,    costPrice cpFROM    productWHERE    productName LIKE '%M%'ORDER BY    cp ASC;

OUTPUT:

+----+-------------+--------+------+| id | productName | dir_id | cp   |+----+-------------+--------+------+|  8 | 罗技M215    |      2 |   30 ||  2 | 罗技M100    |      3 |   33 ||  1 | 罗技M90     |      3 |   35 ||  3 | 罗技M115    |      3 |   38 ||  4 | 罗技M125    |      3 |   39 ||  9 | 罗技M305    |      2 |   48 || 10 | 罗技M310    |      2 | 69.8 || 11 | 罗技M505    |      2 |   72 || 12 | 罗技M555    |      2 |  140 || 13 | 罗技M905    |      2 |  270 || 14 | 罗技MX1100  |      2 |  300 || 15 | 罗技M950    |      2 |  320 || 16 | 罗技MX Air  |      2 |  400 |+----+-------------+--------+------+13 rows in set

但是如果在定义别名的时候使用了中文

SELECT    id,    productName,    dir_id,    costPrice '成本'FROM    productWHERE    productName LIKE '%M%'ORDER BY    '成本';

输出就会出现问题

+----+-------------+--------+------+| id | productName | dir_id | 成本 |+----+-------------+--------+------+|  1 | 罗技M90     |      3 |   35 ||  2 | 罗技M100    |      3 |   33 ||  3 | 罗技M115    |      3 |   38 ||  4 | 罗技M125    |      3 |   39 ||  8 | 罗技M215    |      2 |   30 ||  9 | 罗技M305    |      2 |   48 || 10 | 罗技M310    |      2 | 69.8 || 11 | 罗技M505    |      2 |   72 || 12 | 罗技M555    |      2 |  140 || 13 | 罗技M905    |      2 |  270 || 14 | 罗技MX1100  |      2 |  300 || 15 | 罗技M950    |      2 |  320 || 16 | 罗技MX Air  |      2 |  400 |+----+-------------+--------+------+13 rows in set

可以发现并没有真正的排序,但是多次执行,结果也是相同的.

问题解决

这问题我解决不了了,谁解决了就告诉我吧, 记住结论,不要用中文就好

0 0
原创粉丝点击