sql语句怎么让一个字符串的内容有升序有降序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句怎么让一个字符串的内容有升序有降序相关的知识,希望对你有一定的参考价值。
例如 select name from person
结果为 name
nihao-12-uu-a-11-1
ni-11-uu-aa-1-2
怎么让 第一个下划线的数字 升序排序 第三下划线的字母降序 最后一个下划线的数字升序排序
用 sql 语句
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来取要的值,写起来比较麻烦,但是数据量很庞大时效率会比调函数高一些. 参考技术A 你还没说清楚,你说清楚点。下划线都没有看到。 参考技术B 热通过追问
什么意思
追答讲错了,我不知道
java怎么实现让添加的内容始终排在列表的第一位
你在页面添加内容,必须保存到数据库,然后会自动刷新页面再显示查数据。所以你可以在保存内容的表中加一个时间的字段,当你添加完内容后用后台去数据库查找数据的时候写SQL语句时加上按时间降序排列的语句即可! 参考技术A 用的什么控件?追问是前端页面展示,控制不太清楚
追答那你准备用什么控件都不知道?
是下拉列表控件还是别的?
以上是关于sql语句怎么让一个字符串的内容有升序有降序的主要内容,如果未能解决你的问题,请参考以下文章