如何取得字符在字符串中最后一次出现的位置.

sfmcepwq 2008-01-05 11:09:16
在 sql server 2005的db环境中.

如何取得:字符 b 在字符串 abcefbpqbe 中最后一次出现的位置.
有什么函数可以取得这个位置吗?

...全文
454 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
肥龙上天 2009-01-20
同意1,3,9楼主
  • 打赏
  • 举报
回复
wanshichen 2009-01-20
同意1楼答案……
  • 打赏
  • 举报
回复
brio8425 2009-01-20
REVERSE......
  • 打赏
  • 举报
回复
sa0811 2009-01-19
CSDN上确实强人的多啊
我从google连接到这,终于找到问题的解决办法了..
谢谢了
  • 打赏
  • 举报
回复
ChinaJiaBing 2009-01-19

declare @b nvarchar(10)
set @b='abcefbpqbe'
select len(@b)- charindex('b',REVERSE(@b))+1
  • 打赏
  • 举报
回复
wg961423 2009-01-19
先倒过来,取第一次的值,再用整个长度减一下。
  • 打赏
  • 举报
回复
guangguang2007 2009-01-19
3楼的明了。。
  • 打赏
  • 举报
回复
dobear_0922 2008-01-05
看看钻钻,,,
  • 打赏
  • 举报
回复
dawugui 2008-01-05
单个字符可以用我这个,多个的得用邹老大那个.
  • 打赏
  • 举报
回复
dawugui 2008-01-05
declare @s as varchar(20)
set @s = 'abcefbpqbe'

select 最后一次出现的位置 = len(@s) - charindex('b' , reverse(@s)) + 1

/*
最后一次出现的位置
-----------
9

(1 行受影响)
*/
  • 打赏
  • 举报
回复
wzy_love_sly 2008-01-05
declare @tb table (id varchar(20))
insert into @tb select 'abcefbpqbe'

select len(id)-charindex('b',REVERSE(id))+1 from @tb
  • 打赏
  • 举报
回复
zjcxc 元老 2008-01-05

DECLARE
@str varchar(8000),
@search_str varchar(10)

SELECT
@str = 'abcefbpqbbpe',
@search_str = 'bp'

SELECT
CASE
WHEN CHARINDEX(@search_str, @str) = 0 THEN 0
ELSE LEN(@str) - CHARINDEX(REVERSE(@search_str), REVERSE(@str)) - LEN(@search_str) + 2
END
  • 打赏
  • 举报
回复
相关推荐
普通用户管理模块: (1)用户注册登录:用户注册为用户并登录校园学生兼职系统;用户对个人信息的增删改查,比如个人资料,密码修改。 (2)查看校园学生兼职系统的首页信息:校园学生兼职系统的首页信息包含了首页、公告消息、兼职心、兼职资讯、我的账户、我的收藏等。 (3)公告栏:首页导航栏上我们会看到“校园论坛”这一菜单,我们点击进入进去以后,会看到所有管理员后台发布的公告信息; (4)兼职资讯:首页导航栏上我们会看到“兼职疫资讯”这一菜单,我们点击进入进去以后,会看到所有管理员后台发布的兼职疫资讯信息,能够对喜欢的兼职资讯进行点赞,如果下次想要更快的找到这篇资讯,也可以进行收藏、评论; (5)兼职心:首页导航栏上我们会看到“兼职信息”这一菜单,我们点击进入进去以后,会看到所有管理员后台发布的兼职苗信息,我们选择想要了解兼职信息,查看兼职详情信息,可以评论+点赞+收藏; (6)我的收藏:“我的”下可以查看管理“我的收藏”信息,可以查看收藏,也可以对不喜欢的信息进行删除收藏; 管理员管理模块: (1)登录:管理员的账号是数据表表直接设置生成的,不需要进行注册; ……
发帖
MS-SQL Server

3.4w+

社区成员

MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2008-01-05 11:09
社区公告
暂无公告