Я хочу создать новые столбцы в таблице, которая в настоящее время имеет два столбца: "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", которое можно найти в столбце"Длина дх".