2011-12-28 10 views
1

TABLE1複数の値

Value (Always 3 Digit) 

100x200x300 
200x400x500 
... 
... 

私は値列

予想される出力から3列を作りたいに列を分割する方法

val1 val2 val3 

100 200 300 
200 400 500 
... 
... 

は、クエリのヘルプ

+0

三常に値で常に前提xは常にセパレータ

  • であると想定でき数字が変わることがありますか?あなたはこれを一度でも臨時にしたいのですか? –

  • +0

    常に3桁のみ.... – Gopal

    答えて

    2
    SELECT SUBSTRING([VALUE],1,3) AS val1, 
         SUBSTRING([VALUE],5,3) AS val2, 
         SUBSTRING([VALUE],9,3) AS val3 
        FROM TABLE1 
    
    3

    このレバレッジが必要PARSENAMEではなく、SUBSTRINGです。

    SELECT 
        PARSENAME(Value2, 3) AS val1, 
        PARSENAME(Value2, 2) AS val2, 
        PARSENAME(Value2, 1) AS val3 
    FROM 
        (
        SELECT 
         REPLACE(Value, 'x', '.') AS Value2 
        FROM 
         MyTable 
        ) T; 
    

    このコード

    • 異なる成分値が
    • の長さについて3つの成分