sql server 截取字符串

wendaoshuangyue 2009-07-16 02:54:59
例如字段path=‘E:\resin\resin\webapps\newsystem’ 我想把这个字段的值截取为‘\webapps\newsystem’,请问在数据库中该怎么写这个sql啊?
...全文
70 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxmsuper 2009-07-16
  • 打赏
  • 举报
回复
code=SQL]select right(@s,charindex('\',REVERSE(@s),charindex('\',REVERSE(@s),charindex('\',REVERSE(@s))+1)+1))[[/code]
wendaoshuangyue 2009-07-16
  • 打赏
  • 举报
回复
运行结果不一样,如果是‘E:\resin\resin\webapps\newsystem\’,按照上面的sql运行结果为‘\newsystem\’,可是我想要的结果是‘\webapps\newsystem\’
--小F-- 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wendaoshuangyue 的回复:]
不好意思,弄错了,原字符串为‘E:\resin\resin\webapps\newsystem\’,我想截取从倒数第三个‘\’开始之后的字符串,请问sql该怎么写?
[/Quote]
都写出来了啊
wendaoshuangyue 2009-07-16
  • 打赏
  • 举报
回复
不好意思,弄错了,原字符串为‘E:\resin\resin\webapps\newsystem\’,我想截取从倒数第三个‘\’开始之后的字符串,请问sql该怎么写?
jiangshun 2009-07-16
  • 打赏
  • 举报
回复
居然跟3#的一样
jiangshun 2009-07-16
  • 打赏
  • 举报
回复

declare @s varchar(80)
set @s='E:\resin\resin\webapps\newsystem'
select right(@s,charindex('\',REVERSE(@s),charindex('\',REVERSE(@s))+1))

/*

--------------------------------------------------------------------------------
\webapps\newsystem

(所影响的行数为 1 行)

*/
usher_gml 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 winstonbonaparte 的回复:]
你这个路径有固定的吗?如果固定的话倒是比较容易截取的的。
或者你是想取后面两个路径?那就从右边开始取第二个'\'符号之后的字符串
[/Quote]

UP
wendaoshuangyue 2009-07-16
  • 打赏
  • 举报
回复
就是截取到倒数第二个‘\’之后的字符串
sdhdy 2009-07-16
  • 打赏
  • 举报
回复
请说一下截取的规则。
chuifengde 2009-07-16
  • 打赏
  • 举报
回复
DECLARE @a VARCHAR(100)
SET @a='E:\resin\resin\webapps\newsystem'
SELECT right(@a,CHARINDEX('\',REVERSE(@a), charindex('\',REVERSE(@a))+1))

--result
/*
-----------------------------------
\webapps\newsystem

(所影响的行数为 1 行)*/
chuifengde 2009-07-16
  • 打赏
  • 举报
回复
DECLARE @a VARCHAR(100)
SET @a='E:\resin\resin\webapps\newsystem'
SELECT REPLACE(@a,LEFT(@a,LEN(@a)-CHARINDEX('\',REVERSE(@a), charindex('\',REVERSE(@a))+1)),'')

--result
/*
-----------------------------------
\webapps\newsystem

(所影响的行数为 1 行)*/
winstonbonaparte 2009-07-16
  • 打赏
  • 举报
回复
你这个路径有固定的吗?如果固定的话倒是比较容易截取的的。
或者你是想取后面两个路径?那就从右边开始取第二个'\'符号之后的字符串

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧