Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择斜杠之间的字符--sql_Sql_Sql Server - Fatal编程技术网

选择斜杠之间的字符--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类型,您没有指定该类型。能否为上述字符串发布一些语法