2017-02-10 8 views
-1

データを新しい列に区切る方法が残っています。1つの列のデータを新しい列に区切る方法

例:

Column_A 
q201,r331,q402,r0[213453] 
私は括弧内の値を取得する必要があり

、213453私は情報を検索した後、何を得るから

が、私は

substring and charindex 

を使用する必要があるが、この場合この場合は2倍の区切り文字のようです。どのようにこれを行うにはどのようなアイデア?

おかげ

+1

両方の区切り文字をcharindexで検索し、部分文字列 –

答えて

1
SELECT SUBSTRING(Column_A, 
       CHARINDEX('[', Column_A) + 1, 
       CHARINDEX(']', Column_A) - CHARINDEX('[', Column_A) - 1) 
FROM yourTable 

は、この答えは、あなたが唯一の括弧量を持っていることを前提とし、または、複数の場合は、最初のものを取って受け入れるだろう。実際のデータが異なる場合は、質問を更新してください。

+0

を使用する必要があります。こんにちはTim、エラーメッセージ 'データ型intにnvarchar値' my_value 'を変換するときに変換に失敗しました。私の実際のデータフォーマットは私の質問と同じです。 –

+0

私のクエリはAFAIKで動作するはずです。おそらくあなたはそれをコピーした/誤ってそれを解釈し、したがってエラー。たぶんあなたの質問をあなたが本当にやろうとしているもので更新してください。 –

+0

こんにちはティム、私のデータを見ると、いくつかのデータは[213412easdaqwr]のようなnvarcharタイプです、それはこのケースに影響しますか? –

関連する問題