как использовать regexp_replace для замены двух аргументов - PullRequest
0 голосов
/ 29 марта 2020

У меня есть следующая таблица

id var1
1  M
2  F
3  F
4  F
5  M

И я sh эта таблица со следующим кодом

    id var1
    1  0
    2  1
    3  1
    4  1
    5  0

SELECT var1,
       CAST(REGEXP_REPLACE(var1, 'F', '0') as int) as var_new,
       CAST(REGEXP_REPLACE(var1, 'M', '1') as int) as var_new
FROM table;

Но вывод

    id  var_new var_new
    1   0       null
    2   null    1
    3   null    1
    4   null    1
    5   0       null

Я работаю SQL на Databricks ...

1 Ответ

0 голосов
/ 29 марта 2020

Просто используйте выражение case:

select id, (case when var1 = 'M' then 0 else 1 end) as var1
from t;

Нет необходимости выполнять «замену».

...