Разделение значения одного столбца на несколько столбцов в SQL

У меня есть таблица в формате ниже,

MENUACTION         VALUE

ReceivedDetails    ACCOUNTNO v="3275402GBP"
ReceivedDetails    AGR1 
ReceivedDetails    AGR2 

Мне нужна таблица в формате ниже

MENUACTION         VALUE                       CONTROLID      DATAVALUE      

ReceivedDetails    ACCOUNTNO v="3275402GBP"    ACCOUNTNO      3275402GBP
ReceivedDetails    AGR1                        AGR1
ReceivedDetails    AGR2                        AGR2

Примечание. Записи в столбце значений являются динамическими. Нам нужно разделить теги в столбце значений на два разных столбца (ControlID,DataValue).

Вы можете помочь в этом. Заранее спасибо.

1 ответ

Шаг 1: измените таблицу, добавив столбец DATAVALUE. Шаг 2: Запустите

update table [tablename]
set Value = left(
              -- The Right below gets 3275402GBP"
              Right(VALUE, len(Value) - charindex('v=', Value) - 2),
              -- and the left gets it again to get it's length - 1
              -- leaving 3275402GBP
              Len(Right(VALUE, len(Value) - charindex('v=', Value) - 2) - 1
                 )
-- exclude any without a 'v=' to avoid invalid substrings
where charindex('v=', Value) > 0
Другие вопросы по тегам