Столбец в CSV-файле, который у меня есть, состоит из 3 букв: c, e и n. Когда я импортирую данные, я хочу, чтобы они изменились на 2, 1 и 0 соответственно. Когда я запускаю CASE WHEN в операторе SET, таблица возвращает только 2 для каждой строки. Что я здесь не так делаю?
load data local infile 'C:\\Scripts\\Storagefile.csv'
into table infra.storage
fields terminated by ','
enclosed by '"'
lines terminated by '\r\n'
ignore 1 rows
(status, gasday, gasinstorage, percent_full, net_change, injection, withdrawal, workingstorage, injection_cap, withdrawal_cap, @dummy)
set
status = (SELECT case
when status = 'C' then 2
when status = 'E' then 1
when status = 'N' then 0 end),
entity = 'EU',
gasinstorage = gasinstorage * 3.142142,
net_change = net_change * 3.142142,
injection = injection * 3.142142,
withdrawal = withdrawal * 3.142142,
workingstorage = workingstorage * 3.142142,
injection_cap = injection_cap * 3.142142,
withdrawal_cap = withdrawal_cap * 3.142142,
reportdate = current_timestamp()