我的表格如下所示:
id name value
123 name1 ,
345 name2 N/A
456 name3 ,value1
我希望我的输出像
id name value
123 name1 undefined
345 name2 undefined
456 name3 value1
如果只是,
或N/A
,则输出应为undefined
否则从,
value
Select id, name
(case when value regexp ',' then 'undefined'
when value regexp 'N/A' then 'undefined'
end)
但是,它正在用值undefined
答案 0 :(得分:1)
假设我们不关心从值中替换逗号。然后,用空字符串替换逗号,然后获取长度
LENGTH(REPLACE(value, ',', ''))=0
如果是0
,则值只有,
。
Select id, name,
(case when value = 'N/A' then 'undefined'
when LENGTH(REPLACE(value, ',', ''))=0 then 'undefined'
else REPLACE(value, ',', '')
end) value from <table_name>
答案 1 :(得分:0)
简单的方法是:
select id, name,
case
when value in (',','N/A') then 'undefined'
when value like ',%' then substring(value,2)
else value
end