sql 查找字符串位置(从倒数算起)

sql 查找字符串位置(从倒数算起),第1张

declare @i int,@j int,@str varchar(20)

set @str='abc-def-h'

set @i=1

set @j=len(@str)

declare @num int

while @i<@j

begin

set @num=charindex('-',@str,@i)

set @i=@i+1

set @i=@num+1

select @num

end

可以使用sqlserver中的row_number函数。

如:test表内容如下

id

titile

time

1

你好

2015-01-01

2

正确

2015-02-01

3

明天

2015-03-01

4

数据

2015-04-01

5

开心

2015-05-01

比如要查时间倒数第二晚的,也就是id=4的这条数据,可用下边语句

select t from

(select ,row_number() over (order by time desc) rn from test) t

where rn=2;

在你本地的管理工具中,有查询分析器,用它连接远程数据库,然后编写建表语句执行即可!

如下:

CREATE

TABLE

[dbo][表名](

[ID]

[int]

IDENTITY(1,1)

NOT

NULL,[Type]

[smallint]

NOT

NULL

CONSTRAINT

[PK_表名]

PRIMARY

KEY

CLUSTERED

(

[ID]

ASC

)

ON

[PRIMARY]

)

ON

[PRIMARY]

DECLARE @Str VARCHAR(50)

SET @Str = ',123456,'

select LEN(@Str) - CHARINDEX(',', REVERSE(@Str)) + 1

----返回值---

8

做是可以做出来的,只要结果的话好说:

Oracle数据库下:

select from(select rownum rownumNO,笔试成绩,机试成绩,其他信息 from stuMarks) where rownumNO=(select count() from stuMarks)-2

这个的话就是查出来倒数第三的成绩了,注意最后一个是-2。如果你要优化的话,或者有其他需求的话给我留言,OK?

以上就是关于sql 查找字符串位置(从倒数算起)全部的内容,包括:sql 查找字符串位置(从倒数算起)、SQL语句如何查询倒数第二项数据、sql数据库中如何查询(sql怎么查询)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9812176.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存