2012-11-17 85 views
2

我一直在爲此搜索整個上午。僅在第一次出現字符/分隔符時分割字符串

我對SQL Server的知識不是很好,而且我沒有答案。

具體示例如下:City-Of-StylePart1-Part2

我需要這些例子分成CityOf-StylePart1Part2

我想出了這一小段代碼,但是如果字符串包含' - ',它會切換part1和part2。

PARSENAME(REPLACE('sample-string', '-', '.'), 1)) 

任何幫助完成這個(最好沒有200線功能)非常感謝。

回答

11

如果我理解正確,這將做這項工作; Click here for the fiddle

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 
+0

太棒了!這對我行得通 :) – Yasin

1

如果有字符串中沒有破折號,你會得到一個空白。下面的代碼片段給出了第一部分,如果有短劃線,否則整個字符串。

DECLARE @TextIn VARCHAR(50)= 'City-Of-Style' 
DECLARE @TextOut VARCHAR(500) 
SELECT CASE WHEN CHARINDEX('-',@TextIn)>0 THEN SUBSTRING(@TextIn,0,CHARINDEX('-',@TextIn,0)) ELSE @TextIn END 
相關問題