Как разбить столбцы по длине - PullRequest
0 голосов
/ 04 октября 2019

У меня есть таблица из 10 столбцов, я хочу разделить один столбец на два столбца, если длина значения столбца равна четырем, в противном случае нет разделения, для остальных значений он должен войти в первый разделенный столбец.

column  Acolumn Bcolumn C

0000    00      00
1111   
1 1
000     000 
0115    01      15

Ответы [ 2 ]

1 голос
/ 04 октября 2019

Вы хотите сделать что-то условно в MS Access. Обычно это означает IIF() или SWITCH(), поскольку MS Access не поддерживает стандартный синтаксис выражения CASE:

select t.column,
       iif(len(column) = 4, left(column, 2), column) as columnA,
       iif(len(column) = 4, right(column, 2), NULL) as columnB
from t;

Хотя я и не рекомендую, вы также можете использовать union all:

select t.column, t.column as columnA, NULL as columnB
from t
where len(column) <> 4
union all
select t.column, left(t.column, 2) as columnA, right(t.column, 2) as columnB
from t
where len(column) = 4;
0 голосов
/ 04 октября 2019

Вы можете попробовать ниже -

select columnA, 
       case when len(columnA)=4 then left(columnA,2) end as columnB,
       case when len(columnA)=4 then mid(ColumnA,3,2) end as columnC
from tablename 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...