关于Select Where In 的排序问题 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    复制代码代码如下:

    Select *

    FROM table1

    Where (ID IN (3,5,1,4,2))

    复制代码代码如下:

    Select *

    FROM table1

    Where (ID IN (3,5,1,4,2))如果In后面的条件都是数字,那MSSQL排序应该为

    复制代码代码如下:

    Select *

    FROM table1

    Where (ID IN (3,5,1,4,2))

    orDER BY CHARINDEX(',' + CONVERT(nvarchar, ID) + ',', ',' + CONVERT(nvarchar, Replace('3,5,1,4,2', ' ','')) + ',')

    复制代码代码如下:

    Select *

    FROM table1

    Where (ID IN (3,5,1,4,2))

    orDER BY CHARINDEX(',' + CONVERT(nvarchar, ID) + ',', ',' + CONVERT(nvarchar, Replace('3,5,1,4,2', ' ','')) + ',')改进方法,不去处理空格,直接改用空格判断.可以用来判断少数有空格的字符条件.

    复制代码代码如下:

    Select *

    FROM table1

    Where (ID IN (3,5,1,4,2))

    orDER BY PATINDEX('% ' + CONVERT(nvarchar(4000), ID) + ' %', ' ' + CONVERT(nvarchar(4000), Replace('3,5,1,4,2', ',',' , ')) + ' ')

    复制代码代码如下:

    Select *

    FROM table1

    Where (ID IN (3,5,1,4,2))

    orDER BY PATINDEX('% ' + CONVERT(nvarchar(4000), ID) + ' %', ' ' + CONVERT(nvarchar(4000), Replace('3,5,1,4,2', ',',' , ')) + ' ')

    其实还是在SQL外处理好条件字符串再进行查询和排序比较好.

    对于MYSQL排序可能要改为(MYSQL不熟):

    复制代码代码如下:

    Select *

    FROM table1

    Where (ID IN (3,5,1,4,2))

    orDER BY FIND_IN_SET(ID, '3,5,1,4,2')

   

您可能感兴趣的文章:

Mysql select in 按id排序实现方法

    QQ空间 搜狐微博 人人网 开心网 百度搜藏更多

    Tags:Select Where In 排序

    复制链接收藏本文打印本文关闭本文返回首页

    上一篇:sqlserver 复制表 复制数据库存储过程的方法

    下一篇:SQL SERVER 2000通讯管道后复用劫持

   

相关文章

2011-12-12三种SQL分页查询的存储过程代码

2013-01-01sqlserver中关于WINDOWS性能计数器的介绍

2011-10-10学习SQL语句(强大的group by与select from模式)

2013-12-12SQL一条语句统计记录总数及各状态数

2009-07-07sqlserver 无法验证产品密匙的完美解决方案[测试通过]

2011-10-10小议sqlserver数据库主键选取策略

2013-08-08sqlSQL数据库怎么批量为存储过程/函数授权呢?

2013-08-08分享Sql日期时间格式转换

2013-02-02自动清理 MSSQL Server Table Collation问题的解决方法

2010-04-04全国省市区县最全最新数据表(数据来源谷歌)

   

文章评论

   

最 近 更 新

   

sqlserver关于分页存储过程的优化【让数据

sql自动增长标识导致导入数据问题的解决方

分页存储过程(用存储过程实现数据库的分页

SQL Server利用bcp命令把SQL语句结果生成

SQLServer触发器创建、删除、修改、查看示

sqlserver 系统存储过程 中文说明

where条件顺序不同、性能不同示例探讨

删除重复记录,并且剩下一条

sqlSQL数据库怎么批量为存储过程/函数授权

透明数据加密(TDE)库的备份和还原

   

热 点 排 行

   

SQL Server 2008图文安装教程

SQL Server 2012 安装图解教程(附

sqlserver中distinct的用法(不重

SQL Server导入、导出、备份数据

SQL语句去掉重复记录,获取重复记

SQL Server数据库入门学习总结

SQL Server错误代码大全及解释(

sql convert函数使用小结

sql 时间函数 整理的比较全了

用SQL语句添加删除修改字段、一些

最新文章