Создание столбцов с определенными символами в строке при условии длины строки в SQL Server - PullRequest
0 голосов
/ 10 апреля 2019

Я хочу создать новые столбцы в таблице, которая в настоящее время имеет два столбца: "dx" и "dxlength".Новые столбцы будут подстрокой символов из столбца "dx" на основе длины символов в "dx", которую можно найти в столбце "dxlength".

Например, если длина dxlength>> 3Затем я хотел бы поместить первые три символа в столбец с именем «first3».

Я пытаюсь использовать случай, когда утверждение, но получаю несколько ошибок.Что мне нужно изменить в моем коде?

Я пытался использовать случай, когда заявление.См. Пример кода ниже.

select 
    dx, dxlength, 
    case when dxlength >= 3 then substring('dx', 1, 3) as first3, 
    case when dxlength >= 4 then substring('dx', 1, 4) as first4, 
    case when dxlength >= 5 then substring('dx', 1, 5) as first5, 
    case when dxlength >= 5 then substring('dx', 5, 1) as fifth, 
    case when dxlength >= 6 then substring('dx', 6, 1) as sixth, 
    case when dxlength < 7 then '!' as seventh, 
    case when dxlength = 7 then substring('dx', 7, 1) as seventh
into  
    table2
from
    table1

В таблице будет 7 дополнительных столбцов, которые содержат подстроку символов в столбце "dx" на основе количества символов в "dx", которое можно найти в столбце"Длина дх".

...