-2

DQS_Raw2 つの列で呼び出される次のテーブルがあります。

DQS_Raw

id    Result
-----------------    
1   |01|00|00|01
2   |00|01|01|00
3   |00|00|00|01

以下の表の結果を取得するには、ストアド プロシージャを使用する必要があります。

次の表には 6 つの列があります。

DQS_Raw

id  Result        VF02a VF02b VF02c VF05b
------------------------------------------    
1   |01|00|00|01  01    00    00    01
2   |00|01|01|00  00    01    01    00
3   |00|00|00|01  00    00    00    01

ここで述べたように、パイプで区切られた文字の間の値が抽出されます。最初に抽出された値は列 VF02a に割り当てられ、2 番目は VF02b に割り当てられます。

また、入力から順序が変更された場合に備えて、これを十分に動的にする必要があります。

セットベースのアプローチは使用しないでください。

城野

4

1 に答える 1

1

これを動的なアプローチにすることは不可能だと思います。

しかし、あなたは値を分割するためにこのようなことをすることができます

ssms 2010私はあなたが使用しているサーバーを想定しています

select *,  
SUBSTRING(Result,2,2) as VF021,  
SUBSTRING(Result,5,2) as VF02b,  
SUBSTRING(Result,8,2) as VF02c,  
SUBSTRING(Result,11,2) as VF05b  
from DQS_RAW
于 2013-08-01T09:14:13.897 に答える