--> 测试数据: @T
declare @T table (userName varchar(5),address varchar(7),phone int)
insert into @T
select 'name1','hunan',123456 union all
select 'name2','beijin',456456 union all
select 'name3','sichuan',456456select * from @T order by address desc/*
userName address phone
-------- ------- -----------
name3 sichuan 456456
name1 hunan 123456
name2 beijin 456456(3 行受影响)
*/
declare @T table (userName varchar(5),address varchar(7),phone int)
insert into @T
select 'name1','hunan',123456 union all
select 'name2','beijin',456456 union all
select 'name3','sichuan',456456select * from @T order by address desc/*
userName address phone
-------- ------- -----------
name3 sichuan 456456
name1 hunan 123456
name2 beijin 456456(3 行受影响)
*/
WHEN 'name3' THEN 1
WHEN 'name1' THEN 2
WHEN 'name2' THEN 3
ELSE 4
END
if object_id('tempdb.dbo.#T') is not null drop table #T
create table #T (userName varchar(5),address varchar(7),phone int)
insert into #T
select 'name1','hunan',123456 union all
select 'name2','beijin',456456 union all
select 'name3','sichuan',456456select * from #T order by charindex(','+userName+',',',name3,name1,name2,')
/*
name3 sichuan 456456
name1 hunan 123456
name2 beijin 456456
*/