sql语句怎么让一个字符串的内容有升序有降序
发布网友
发布时间:2022-05-06 20:27
我来回答
共3个回答
热心网友
时间:2023-09-15 23:33
select ...from ...where ...
order by dbo.fuc_anzObject(name,'-',1) asc ,dbo.function fuc_anzObject(name,'-',3) desc,dbo.fuc_anzObject(name,'-',6) asc
函数,用于分割字符串取值参数说明:
@text :源文本内容 @:分隔用字符 @ins 取第几节内容
------------------------------
create function fuc_anzObject(@text varchar(200),@tax char,@ins int)
returns varchar(200)
as
begin
declare @txt varchar(200)
set @txt=''
while(CHARINDEX(@tax,@text)>0 and @ins>0)
begin
set @txt=left(@text,CHARINDEX(@tax,@text)-1)
set @text=substring(@text,CHARINDEX(@tax,@text)+1,len(@text))
if(@ins=0)
break
set @ins=@ins-1
end
if(@ins=1 and CHARINDEX(@tax,@text)=0)
set @txt=@text
if(@ins>1 and CHARINDEX(@tax,@text)=0)
set @txt=''
return @txt
end
-------------这个是通用的方法
如果是定制的方法,就需要把函数的内容写死在语句里,反复的套用substring和CHARINDEX来取要的值,写起来比较麻烦,但是数据量很庞大时效率会比调函数高一些.
热心网友
时间:2023-09-15 23:34
你还没说清楚,你说清楚点。下划线都没有看到。
热心网友
时间:2023-09-15 23:34
热通过追问什么意思
追答讲错了,我不知道