使用 SQL Server,如何拆分字符串以便可以访问项目 x?
取一个字符串“Hello John Smith”。如何按空格分割字符串并访问索引 1 处应返回“John”的项目?
最佳答案
我不相信 SQL Server 有内置的 split 函数,因此除了 UDF 之外,我知道的唯一答案就是劫持 PARSENAME 函数:
SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 2)
PARSENAME 获取一个字符串并按句点字符将其拆分。它接受一个数字作为第二个参数,该数字指定要返回字符串的哪一段(从后到前)。
SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 3) --return Hello
明显的问题是当字符串已经包含句点时。我仍然认为使用 UDF 是最好的方法...还有其他建议吗?
关于sql - 如何拆分分隔字符串以便可以访问单个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2647/