选择斜杠之间的字符--sql
我有下面的字符串。有人能帮我只选择选择斜杠之间的字符--sql,sql,sql-server,Sql,Sql Server,我有下面的字符串。有人能帮我只选择数据/之后和交叉/之前的字符吗 /dss/data/20131223_155909_7325/Cross-Boundary-Collaboration_Participant_Workbook_v1.4.onepkg 请注意/dss/data/将保持一致,但使用7325/后字符可能会有所不同 /dss/data/20131223_155909_7325/Cross-Boundary-Collaboration_Participant_Workbook_v1.4
数据/
之后和交叉/
之前的字符吗
/dss/data/20131223_155909_7325/Cross-Boundary-Collaboration_Participant_Workbook_v1.4.onepkg
请注意/dss/data/
将保持一致,但使用7325/
后字符可能会有所不同
/dss/data/20131223_155909_7325/Cross-Boundary-Collaboration_Participant_Workbook_v1.4.onepkg
编辑:
这将给你一个如何做的想法:
DECLARE @URL VARCHAR(1000)
SET @URL = 'http://www.sql-server-helper.com/tips/tip-of-the-day.aspx?tid=58'
SELECT SUBSTRING(@URL, 8, CHARINDEX('/', @URL, 9) - 8) AS [Domain Name],
REVERSE(SUBSTRING(REVERSE(@URL), CHARINDEX('?', REVERSE(@URL)) + 1,
CHARINDEX('/', REVERSE(@URL)) - CHARINDEX('?', REVERSE(@URL)) - 1)) AS [Page Name],
SUBSTRING(@URL, CHARINDEX('?', @URL) + 1, LEN(@URL)) AS [Query Parameter]
来源:点击这将选择
/dss/data/
之后的所有内容,直到下一个斜杠/
DECLARE @string NVARCHAR(MAX);
SET @string = '/dss/data/20131223_155909_7325/Cross-Boundary-Collaboration_Participant_Workbook_v1.4.onepkg';
SELECT LEFT(REPLACE(@string,'/dss/data/',''), CHARINDEX('/',REPLACE(@string,'/dss/data/',''))-1)
20131223_155909_7325
在本例中您需要“正则表达式”来实现这一点。您必须在脚本环境中执行此操作,或者需要依赖于特定于实现的sql扩展。这显然取决于您正在使用的sql server类型,您没有指定该类型。能否为上述字符串发布一些语法