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 Server中使用正斜杠拆分字符串?_Sql_Sql Server_Split_Sql Server 2012_Substring - Fatal编程技术网

如何在SQL Server中使用正斜杠拆分字符串?

如何在SQL Server中使用正斜杠拆分字符串?,sql,sql-server,split,sql-server-2012,substring,Sql,Sql Server,Split,Sql Server 2012,Substring,SQL Server 2012中没有我正在使用的默认拆分函数 我想拆分字符串ex:/Folder1/Folder2/by/ 如果字符串为/Folder1/则输出应为Folder1, 如果字符串为/Folder1/Folder2/则输出应为Folder2, 若字符串为/Folder1/Folder2/Folder3/则输出应为Folder3。 试试这个: declare @tbl table (path varchar(100)); insert into @tbl values ('/Folde

SQL Server 2012中没有我正在使用的默认拆分函数

我想拆分字符串ex:/Folder1/Folder2/by/

如果字符串为/Folder1/则输出应为Folder1, 如果字符串为/Folder1/Folder2/则输出应为Folder2, 若字符串为/Folder1/Folder2/Folder3/则输出应为Folder3。 试试这个:

declare @tbl table (path varchar(100));
insert into @tbl values
('/Folder1/'),
('/Folder1/Folder2/'),
('/Folder1/Folder2/Folder3/');

select *, 
       replace(substring(path, len(path) - charindex('/', reverse(path), 2) + 1, 1000), '/', '')
from @tbl

您使用的是哪个版本的SQL server?@Reno SQL server 2012A、和函数的组合将使您达到目的。这个问题以前已经以多种不同的方式得到了回答:@TT我在您的帮助下找到了答案,选择REVERSESUBSTRINGSUBSTRINGREVERSE'/Folder1/Folder2/',2,lenREVERSE'/Folder1/Folder2/',1,charIndex'/',子字符串reverse'/Folder1/Folder2/',2,lenREVERSE'/Folder1/Folder2/'-1