mySQL排序最后一个

时间:2009-08-28 22:28:42

标签: php javascript mysql sorting

我的表中有一个存储字符串的列(它是一个文本列):

VARCHAR(16) latin1_swedish_ci

问题是,当我说“ORDER BY name ASC”时,它会返回以结尾的下划线开头的单词。这是它返回的一个例子:

-a
-mmddd2
-z
-z3
aaa
b
c
t
_a
___-

我打赌我可以使用php进行排序,但是有一种简单的方法可以让mySQL在破折号后加下划线吗?我这样做,所以它将匹配javascript排序函数的输出。

我想要:

-a
-mmddd2
-z
-z3
_a
___-
aaa
b
c
t

2 个答案:

答案 0 :(得分:5)

Collations定义排序顺序,如果没有可用的排序规则使用您可以定义自己的排序顺序,如here所述。

答案 1 :(得分:1)

我不是说这是一个优雅的解决方案,但你可以尝试这样做:

select name
from customers
order by replace(name, '_', '-+') asc;

只需将+替换为破折号后面的前缀下划线值。