【问题标题】:How to split string by forward slash in SQL Server? [duplicate]如何在 SQL Server 中通过正斜杠拆分字符串? [复制]
【发布时间】:2019-03-05 16:52:01
【问题描述】:

我正在使用的 SQL Server 2012 中没有默认拆分功能。

我想用/分割字符串(例如:/Folder1/Folder2/)。

  • 如果字符串是/Folder1/,那么输出应该是Folder1
  • 如果字符串是/Folder1/Folder2/,那么输出应该是Folder2
  • 如果字符串是/Folder1/Folder2/Folder3/,那么输出应该是Folder3

【问题讨论】:

  • 你使用的是什么版本的 SQL Server?
  • @Reno Sql server 2012
  • REVERSECHARINDEXSUBSTRING 函数的组合将助您一臂之力。
  • 这个问题之前已经以多种方式回答过:stackoverflow.com/questions/2647/…
  • @TT 我在你的帮助下找到了答案SELECT REVERSE(SUBSTRING(SUBSTRING(REVERSE('/Folder1/Folder2/'),2,len(REVERSE('/Folder1/Folder2/'))),1,charIndex('/',SUBSTRING(REVERSE('/Folder1/Folder2/'),2,len(REVERSE('/Folder1/Folder2/'))))-1))

标签: sql sql-server split sql-server-2012 substring


【解决方案1】:

试试这个:

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

【讨论】:

    猜你喜欢
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 2012-06-02
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    相关资源
    最近更新 更多