# 2.3 按子串排序

问题：

按字符串的某一部分对查询结果排序。

例如，要从EMP表中返回员工名字和职位，并且按照职位字段的最后两个字符排序

解决方案：

```
select ename,job from EMP  order by SUBSTRING(job,len(job)-2,2);
```

&#x20;结果：

![](https://3748388522-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MRjpdT6PYM3zgtBC3PD%2F-MduYQjBE4NaxFOgay2L%2F-MduZUDOscrO_72HOzNb%2Fimage.png?alt=media\&token=2381174c-539c-4ef6-a630-5989d991bb8d)

【分析】

substring()函数

第一个参数：字符串所在列的列名

第二个参数：取子串的开始位置

第三个参数：所取的子串的长度
