如何在SQL 2008中过滤字符串?
$("#tabs").append(
"<div id='tabs-" + tabCounter + "'>" +
"<div class='divTable'>" +
"<div class='divRow'>" +
"<div class='divCell'>" +
"<div class='editor-label'>" +
"@Html.LabelFor(m => m.name)" +
"</div>" +
"</div>" +
"<div class='divCell'>" +
"<div class='editor-field'>" +
"@Html.TextBoxFor(m => m.employee[0].name)" +
"</div>" +
"</div>" +
"</div>" +
上面的查询返回文件名,即Data20160401.txt。
我只需要获取服务器名称PRODSERVER。
答案 0 :(得分:1)
创建一个分割字符串的函数
CREATE FUNCTION [dbo].[fnSplitString]
(
@string NVARCHAR(MAX),
@delimiter CHAR(1)
)
RETURNS @output TABLE(splitdata NVARCHAR(MAX)
)
BEGIN
DECLARE @start INT, @end INT
SELECT @start = 1, @end = CHARINDEX(@delimiter, @string)
WHILE @start < LEN(@string) + 1 BEGIN
IF @end = 0
SET @end = LEN(@string) + 1
INSERT INTO @output (splitdata)
VALUES(SUBSTRING(@string, @start, @end - @start))
SET @start = @end + 1
SET @end = CHARINDEX(@delimiter, @string, @start)
END
RETURN
END
调用函数
select *from dbo.fnSplitString('\\PRODSERVER\D$\EXPORT\Data20160401.txt','\')
输出
PRODSERVER
D$
EXPORT
Data20160401.txt
答案 1 :(得分:1)
DECLARE @path VARCHAR(50) = '\\PRODSERVER\D$\EXPORT\Data20160401.txt'
Select SubString(@path,3,(CHARINDEX('\',@path,3)-3))
答案 2 :(得分:0)
假设文件的路径始终以\\开头,您可以执行以下操作:
Filename=substring(string,0,charindex(substring(string,2,len(string)-2),'\')
不知道这是否是完全正确的语法,因为我现在不在使用任何sql处理器的计算机上,但它应该做这样的事情: