加入收藏 | 设为首页 | 会员中心 | 我要投稿 上海站长网 (https://www.021zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL 按照子字符串排序 问题描述

发布时间:2022-10-14 03:33:52 所属栏目:MsSql教程 来源:转载
导读: SQL 按照子字符串排序,你想根据一个子字符串对结果集进行排序,考虑下面的记录。
SQL 按照子字符串排序 问题描述
你想根据一个子字符串对结果集进行排序mssql 按关键字排序,考虑下面的记

SQL 按照子字符串排序,你想根据一个子字符串对结果集进行排序,考虑下面的记录。

SQL 按照子字符串排序 问题描述

你想根据一个子字符串对结果集进行排序mssql 按关键字排序,考虑下面的记录。

ENAME
----------
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER

你希望按照每个名字的最后两个字符对上述记录进行排序。

ENAME
---------
ALLEN
TURNER
MILLER
JONES
JAMES
MARTIN
BLAKE
ADAMS
KING
WARD
FORD
CLARK
SMITH
SCOTT

SQL 按照子字符串排序 解决方案

解决这个问题的关键在于使用数据库管理系统的内置函数提取出用作排序标准的子字符串,通常使用 SUBSTR 函数来实现这一点。

DB2、Oracle、MySQL 和 PostgreSQL

使用内置函数 LENGTH 和 SUBSTR,根据字符串的特定部分排序。

1 select ename
2   from emp
3  order by substr(ename,length(ename)-1,2)

SQL Server

使用 SUBSTRING 函数和 LEN 函数,根据子字符串的特定部分排序。

1 select ename
2   from emp
3  order by substring(ename,len(ename)-1,2)

SQL 按照子字符串排序 扩展知识

通过在 ORDER BY 子句里使用 SUBSTR 表达式,我们可以选择一个字符串的任意部分用于结果集的排序。其实,也可以不使用 SUBSTR 函数,我们可以基于任何表达式对结果集排序。

(编辑:上海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!