仅在字符/分隔符的第一次出现时拆分字符串

Val*_*uyt 4 sql sql-server string

我整个上午一直在寻找这个.

我对SQL Server的了解不是很好,而且我没有答案.

具体的例子是:City-Of-StylePart1-Part2.

我需要这些例子分成CityOf-StylePart1Part2.

我想出了这段代码,但是如果字符串包含' - ',它会切换part1和part2.

PARSENAME(REPLACE('sample-string', '-', '.'), 1))
Run Code Online (Sandbox Code Playgroud)

任何帮助实现这一点(最好没有200行功能)非常感谢.

Kaf*_*Kaf 22

如果我理解正确,这将完成工作; 点击这里查看小提琴

DECLARE @s VARCHAR(50)= 'City-Of-Style'

SELECT SUBSTRING(@s,0,CHARINDEX('-',@s,0)) AS firstPart,
    SUBSTRING(@s,CHARINDEX('-',@s,0)+1,LEN(@s)) AS secondPart
Run Code Online (Sandbox Code Playgroud)