SQL - 如何在分隔符之间提取字符串列表?

时间:2016-07-19 19:51:34

标签: sql sql-server string split

在SQL Server中,如果我有一个示例字符串'abc || DATE || Lorem ipsum || NUMBER || dolor sit amet,elit。|| CONTACT NAME ||:Nullam et odio laoreet',任何想法我将如何提取我的'||'之间的所有字符串分隔符?我的预期结果集将是:

DATE
NUMBER
联系人姓名

我还可以使用逗号分隔的单个结果:DATE,NUMBER,CONTACT NAME。此外,我可能需要提取任何数量的这些子串。我上面的样本只有三个。感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

尝试我创建的这个SQL Server函数。它是.net所以你必须启用CLR功能或在SQL Server中重新创建它。

<SqlFunction(DataAccess:=DataAccessKind.Read)> _
    Public Shared Function Split(Text As String, delimiter As String, returnZeroBasedIndex As Integer) As String
        Dim s() As String = VB.Split(Text, delimiter)
        If returnZeroBasedIndex <= s.Length - 1 Then
            Return s(returnZeroBasedIndex)
        Else
            Return ""
        End If
    End Function