我有一個字符串像修剪字符串
WebApp - 10148
Smart - App - 1458
預期結果
WebApp
Smart - App
我想要的人物修剪掉 - 從正確的數字。
我曾嘗試下面的查詢,結果是這樣的
select LEFT(app+' - ', CHARINDEX(' - ',app+' - ')-1) from repository
WebApp
Smart
誰能幫助我解決這?
我有一個字符串像修剪字符串
WebApp - 10148
Smart - App - 1458
預期結果
WebApp
Smart - App
我想要的人物修剪掉 - 從正確的數字。
我曾嘗試下面的查詢,結果是這樣的
select LEFT(app+' - ', CHARINDEX(' - ',app+' - ')-1) from repository
WebApp
Smart
誰能幫助我解決這?
試試這個:
reverse(right(reverse(@string), len(@string) - charindex('-',reverse(@string),1)));
看起來不錯!我可以在最後調整連字符嗎? – Michael
@邁克爾: - 更新,現在你不會在最後得到連字符。請立即檢查! –
只是爲了與rekursive CTE(我會用拉胡爾的回答:-))
DECLARE @tbl TABLE(x VARCHAR(100));
INSERT INTO @tbl VALUES('WebApp - 10148'),('Smart - App - 1458');
WITH FindHyphens AS
(
SELECT x,0 AS StartInx, PATINDEX('% - %',x) AS PosHyphen,SUBSTRING(x,PATINDEX('% - %',x)+1,1000) AS Subst FROM @tbl
UNION ALL
SELECT x,StartInx+PATINDEX('% - %',Subst),PATINDEX('% - %',Subst),SUBSTRING(Subst,PATINDEX('% - %',Subst)+1,1000)
FROM FindHyphens
WHERE PATINDEX('% - %',Subst)>0
)
,FindLastHyphen AS
(
SELECT x, MAX(StartInx+PosHyphen)-1 AS LastPos
FROM FindHyphens
GROUP BY x
)
SELECT SUBSTRING(x,1,LastPos)
FROM FindLastHyphen
'app'是列containig的名字有趣的一種方法文本? –