テーブルのフィールドの最初の2つのアンダースコアの後ろと3番目のアンダースコアの前に存在する長さが異なるコードを抽出しようとしています。テーブルはこのように見えます。 30以上のコードがあり、クエリの一部としてコードを抽出する必要があります。サブストリング、Charindex
code
====
XX_YYY_CODE1_ZZZ
XX_YYY_CODE2_ZZZ
XX_YYY_CODE3_ZZZ
XX_YYY_CODE4_ZZZ
...
しかし私は、これは私にYYYではなく、私が後だと私は私がそれをやりたいし、それを再設計する方法を考え出すことができないコードを示します。このコードを使用してみました。
select
left(SUBSTRING(code,
CHARINDEX('_', code) + 1, len(code)),
CHARINDEX('_',SUBSTRING(code,CHARINDEX('_', code) + 2, LEN(code))))
、あなたの予想される出力は何ですか。? – Mansoor
すべての値に3つのアンダースコアがありますか?より良いデータサンプルを提供できますか?同じ長さのため、 'substring()'はずっと簡単です。 –
私が探していたものの明瞭さのわずかな欠如に対する謝罪。毎回アンダースコアが同じで、長さが異なる20〜30のコードがあります。 –