SqlServer按照指定顺序对字段进行排序
最近的一个项目,使用存储过程对报表进行分析,其中有一些名称需要根据指定顺序显示,而其名称对应的编号并不是按照要求的顺序排列的。通过上网查找资料,发现sql 中的charindex函数可以帮助解决这个问题。但是这样做也有一个弊端,当添加新的名称后,可能就会达不到想要的结果了,没有通用性。 给出一个例子:? create table test( 查询语句: select * from dbo.test order by id1,CHARINDEX(id2,'1011,1012,1010,1003,1002,1001,'); 查询结果如图所示 附 charindex函数说明(截自百度百科): 语法 CHARINDEX ( expression1,expression2,[ start_location ] ) 参数 expression1 一个 表达式,其中包含要寻找的 字符的次序。 expression1?是一个短 字符 数据类型分类的 表达式。 expression2 表达式,通常是一个用于搜索指定序列的列。 expression2?属于字符串数据类型分类。 start_location 在? expression2?中搜索? expression1?时的起始 字符位置。如果没有给定? start_location,而是一个负数或零,则将从 expression2?的起始位置开始搜索。 返回类型 int (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server-2005 – SSIS 2005中BufferTempStoragePath的默
- 清除SQL SERVER错误日志出现操作系统错误的解决方法
- SQL Server CROSS APPLY和OUTER APPLY的应用详解
- sql-server – SQL Server碎片问题
- SQL Server 作业的备份(备份作业非备份数据库)
- SQLServer 操作详解(没事多翻翻,发觉开发中用到的就是这些
- ms-sqlserver sql 默认排序
- Mysql 日期时间 DATE_FORMAT(date,format)
- mysql SELECT FOR UPDATE语句使用示例
- SQLSERVER2005之数据库快照