我需要更新存储在列中的网址。

我的列具有这样的值:

https://www.site.sharepoint.com/sites/test/AB-19-CALL


我想将此网址更新为:

https://www.site.sharepoint.com/sites/test/CALL-AB-19


为了得到最后的部分,我使用下面的查询

SELECT
    SUBSTRING(urlcompte, LEN(urlcompte) - CHARINDEX('/', REVERSE(urlcompte)) + 2, LEN(urlcompte)),
    UrlCompte
FROM
    tblAccount


现在要拆分和反转AB-19-CALL,我将再次需要使用上面的整个查询,然后使用AB-19-call选择子字符串

有没有更简单的方法可以做到这一点?

在C#中,我们可以执行以下操作:

urlCompte.Split('-')[2] + urlCompte.Split('-')[0] + urlCompte.Split('-')[1]


SQL Server中是否可以拆分列并访问列的不同部分?

最佳答案

这将有助于分割字符串部分-

DECLARE @txt NVARCHAR(500)= 'https://www.site.sharepoint.com/sites/test/AB-19-CALL';

SELECT value
FROM STRING_SPLIT(REVERSE(SUBSTRING(REVERSE(@txt), 1, CHARINDEX('/', REVERSE(@txt))-1)), '-');(substring(reverse(@txt),1,charindex('/',reverse(@txt))-1)),'-')

10-08 13:34