SQL 按列名的第二个字母排序

Des*_*ith 3 sql sql-server

我有一列可以说 10 个值,所有 NCHAR(20) 在 SQL Server 中。

我想以降序方式按第二个字母对值进行排序。换句话说,如果我有以下列值。请注意,这应该适用于任何值,这只是示例。

  • 地球
  • 空间
  • 月亮
  • 星星
  • 冥王星

SQL 查询必须产生以下输出

  • 星星
  • 空间
  • 月亮
  • 冥王星
  • 地球

我能得到的最接近的答案是这个——

选择行星,名称来自星系 WHERE 行星如 '_%' ORDER BY Planet desc

Mih*_*hai 5

ORDER BY SUBSTRING(planet , 2, 1) DESC
Run Code Online (Sandbox Code Playgroud)

不时查看文档也不错链接