--(1)借用字符串进行无规律排序
create table #DepartMent
(
Depart varchar(10)
)
insert into #DepartMent select '组长'
union all select '助理'
union all select '总经理'
union all select '员工'
union all select '副总经理'
union all select '主管'
declare @sql varchar(100)
set @sql=N'总经理,副总经理,主管,组长,助理,员工'
select * from #DepartMent
order by charindex(N','+Depart+N',',N','+@sql+N',')
create table #DepartMent
(
Depart varchar(10)
)
insert into #DepartMent select '组长'
union all select '助理'
union all select '总经理'
union all select '员工'
union all select '副总经理'
union all select '主管'
declare @sql varchar(100)
set @sql=N'总经理,副总经理,主管,组长,助理,员工'
select * from #DepartMent
order by charindex(N','+Depart+N',',N','+@sql+N',')
解决方案 »
- 接收到的存储过程返回值被截断了,怎么回事?
- 求一句SQL语句的写法,不要存储过程
- [祝大家新年快乐] 求一个数据库设计方案!
- 在sqlserver2000中不同的数据库中互相导入导出表时,表中的默认值信息丢失了,有没有办法让这些信息不丢失?
- 求问。SQL2005的组建装不上
- 请问此A表GROUP BY后怎么与B表JOIN??
- 谁能给我ADO连ORACLE的代码,谢谢
- access里面支持判断空表的语法么?
- 请问各位大虾,哪里有人事管理软件开发全过程的文档和代码?小弟不胜感谢!
- 请教高手:在MS Sql Server的存储过程中,怎样调用本地的动态连接库中的函数?急!
- 关于sql中为甚么可以用substring呢?
- 关于一个存储过程问题
declare @sql varchar(100)
set @sql=N'1,3,4,5,2'
select * from '表名'
order by charindex(N','+Depart+N',',N','+@sql+N',')
select * from tb
order by case 字段 when 1 then 1 when 3 then 2 when 4 then 3 when 5 then 4 when 2 then 5 end
--1,3,4,5,2
declare @sql varchar(100)
set @sql=N'1,3,4,5,2'
select * from '表名'
order by charindex(Depart,@sql)
select * from tb
order by case 字段 when 1 then 1 when 3 then 2 when 4 then 3 when 5 then 4 when 2
create table #1(id int identity(1,1),col2 int)insert #1 values(1)
insert #1 values(2)
insert #1 values(3)
insert #1 values(4)
insert #1 values(5)select * from #1 order by case col2 when 1 then 1 when 3 then 2 when 4 then 3 when 5 then 4 when 2 then 5 endid col2
----------- -----------
1 1
3 3
4 4
5 5
2 2(5 row(s) affected)
select * from tb
order by case col when 2 then 6 else col end
order by charindex(','+rtrim(字段名)+',', ',1,3,4,5,2,')
insert #tb values(2)
insert #tb values(3)
insert #tb values(4)
insert #tb values(5)
select col
from #tb
order by (case col when 1 then 1 when 3 then 2 when 4 then 3 when 5 then 4 when 2 then 5 else 6 end)drop table #tb
when ** then &&
.
.
.
end;
insert #tb values(2)
insert #tb values(3)
insert #tb values(4)
insert #tb values(5)
select col
from #tb
order by (case col when 1 then 1 when 3 then 2 when 4 then 3 when 5 then 4 when 2 then 5 else 6 end) drop table #tb
declare @sql varchar(100)
set @sql=N'1,3,4,5,2'
select * from '表名'
order by charindex(N','+Depart+N',',N','+@sql+N',')
order by cast(yourcolumn as int)