我想写一个函数来实现一下描述功能:
1,比如这么一条,有可能是:order by a.time,b.no 或者order by time,no
2, 去掉a. b. 成为像1后者这么一条sql,如果传入的是后者这样的,则不变怎么实现啊~~~~~~~~~~
1,比如这么一条,有可能是:order by a.time,b.no 或者order by time,no
2, 去掉a. b. 成为像1后者这么一条sql,如果传入的是后者这样的,则不变怎么实现啊~~~~~~~~~~
SELECT * FROM #tb ORDER BY CASE WHEN 1=1 THEN a.time,b.no ELSE time,no END
create function ff(@Input varchar(2000))
returns varchar(2000)
as
if charindex(@Input,'.')>0
set @Input=stuff(@Input,charindex(@Input,'.')-1,2,'')
else
return @Input
end
改成两个SELECT * FROM #tb
ORDER BY CASE WHEN 1=1 THEN a.time,b.no ELSE time END
,CASE WHEN 1=1 THEN b.no ELSE no END
SELECT * FROM #tb
ORDER BY CASE WHEN 1=1 THEN a.time ELSE time END
,CASE WHEN 1=1 THEN b.no ELSE no END
create function ff(@Input varchar(2000))
returns varchar(2000)
begin
while charindex(@Input,'.')>0
set @Input=stuff(@Input,charindex(@Input,'.')-1,2,'')
return @Input
end
go
create function ff(@Input varchar(2000))
returns varchar(2000)
begin
while charindex('.',@Input)>0
set @Input=stuff(@Input,charindex('.',@Input)-1,2,'')
return @Input
end
go
select dbo.ff('select a.b,c.d,k.b,f.d from abc')/*-----------------------------------------------------
select b,d,b,d from abc(1 行受影响)
*/
满足了我的需求,也学会了stuff()函数,谢谢啊,我还要一个问题,在应用板块,有时间一起看看啊!!!