3

「_」から始まる文字列の残りを抽出する必要がある列があります。以下の例:

TF_Bskt Trade would need to be "Bskt Trade"
SSC_Equity would need to be "Equity"
etc ......

TF_Bskt Trade の例を使用して、ここまで説明しました。

SELECT SUBSTRING ('TF_Bskt Trade' ,CHARINDEX('_','TF_Bskt Trade')+1, length)

しかし、動的であるように、長さが _ の後と文字列の末尾の最初からであることを確認する方法に混乱していますか? 基本的に、「_」以降のさまざまな程度の文字列の長さに対応します。

これを効率的に達成する方法のアイデアはありますか?

4

1 に答える 1

4

以下は仕事をします

 SELECT SUBSTRING ('TF_Bskt Trade', CHARINDEX('_', 'TF_Bskt Trade') + 1, LEN('TF_Bskt Trade'))

SUBSTRING の長さパラメーターのドキュメントには、「開始と長さの合計が式の文字数より大きい場合、開始で始まる値式全体が返される」と記載されているためです。

于 2014-01-02T16:01:46.990 に答える