基本的には、同じ文字の2番目のオカレンス(この場合、ダッシュ " - ")を使用して中間語を取得したいということです。2番目の位置のCharindex経由でサブストリングを使用して中間語を取得するには?
これはサンプル入力です:
declare @word nvarchar(max)
set @word = 'Technical Materials - Conversion - Team Dashboard'
あり、この文には3つの部分があり、それらがによって分割されている「 - 」破線。
最初の部分は私が使用して取得することができています「技術資料」です:
SELECT LTRIM(RTRIM(SUBSTRING(@word, 0, CHARINDEX('-', @word, 0))))
最後のセットは、私が使用して取得することができるよ「チームダッシュボード」でした:
SELECT CASE WHEN LEN(@word) - LEN(REPLACE(@word, '-', '')) = 1
THEN NULL
ELSE
RIGHT(@word,CHARINDEX('-', REVERSE(@word))-1)
END
この問題では、この例では「変換」という中間語を取得するのが苦労していました。
フォーマットが固定されているとはどういう意味ですか?私はこのコードが動作しないフォーマットを意味しますか? –
彼はいつも2 ' - 'で、 'ではない'という意味です。値 – GuidoG
で私はここで2つのダッシュを意味しました。クエリが2ダッシュ以下/多い場合はクエリを変更する必要があります – Arulkumar