按SQL列名第二个字母排序

3
我有一个包含10个值的列,这些值在SQL Server中都为NCHAR(20)类型。
我想按第二个字母进行降序排列。换句话说,如果我有以下列值。请注意,这适用于任何值,这只是示例。
地球 太空 月亮 星星 冥王星
SQL查询必须生成以下输出
星星 太空 月亮 冥王星 地球
我能找到的最接近答案的是这个 -
从星系选择行星、名称 WHERE planet like'_%' 按星球降序排列
2个回答

5
ORDER BY SUBSTRING(planet , 2, 1) DESC

时不时查看文档是一个好习惯链接


我做了完全相同的事情,只是我把1换成了2,认为索引从0开始?非常感谢,它现在可以工作了。 - Desmond Smith
我在MySQL中使用了它。无论如何都有效:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring :) 谢谢 +1 - Zaphoid

1
你可以使用ORDER BY SUBSTR(planet, 2) DESC
这意味着减去第一个字符。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接