Я присоединяюсь к столам Table_A
и Table_B
на колонках Col_A
и Col_B
. Ниже приведены некоторые значения тестовых образцов.Присоединение двух строк с использованием rlike
Table_A, Col_A
USA1FullCover
USAMainland
USA2Islands
Table_B, Col_B
USA
USA1
USA2
При соединении, мне нужно, чтобы соответствовать значению «USA
» следует число точно. Например, результат объединения должен выглядеть так.
Col_A Col_B
USA1FullCover USA1
USAMainland USA
USA2Island USA2
Я пытаюсь достичь этого в MySQL. Я попробовал функцию rlike
. Но проблема в том, что с rlike
я не могу полностью их сопоставить.
select
case when 'USA1FullCover' rlike 'USA' then 1 else 0 end;
#matches, but shouldn't
select
case when 'USA1FullCover' rlike 'USA1' then 1 else 0 end;
#matches, which is what I need/expect
select
case when 'USA1FullCover' rlike 'USA2' then 1 else 0 end;
#doesn't match, which is what I need/expect
Мой вопрос, как я могу исправить rlike
так, что первый случай не произойдет, то это не соответствует, когда нет цифр на ОРЗ? Или можно использовать regex
? Взятие подстроки LHS не помогает, поскольку мы не можем определить длину заранее.
Спасибо! Я просто попробовал это, но разве это не будет работать, только если после США появится цифра? У меня также есть случаи, когда у нас нет никаких цифр, и мне нужно их сопоставить ... – visakh
вот что сказал ваш вопрос. вы можете изменить часть else, чтобы обрабатывать те, у которых нет цифры после США –