Обновление - пункт «Где», использующий текст, который не отвечает, как ожидалось - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть таблица, которая содержит столбец с именем «time_source» с пятью потенциальными значениями:

«модель», «страна_город», «регион», «обновление» и «хранилище»

Я пытался сделать заявление об обновлении, которое не будет обновлять столбец date_destination, если time_source «модель», как это:

update t_vessel_list_ballast
set date_destination = date_depart + voyage_time
where time_source not like 'model';

Но это не работает, как я ожидал.вместо этого он перезаписывает date_destination, даже если 'model' находится в time_source.Я пробовал что-то вроде этого:

update t_vessel_list_ballast
set date_destination = date_depart + voyage_time
where time_source like 'country_city'
or time_source like 'region';

, но я все еще получаю те же результаты.

В модели нет другого места, где это могло бы происходить.

Почему я не получаю ожидаемый результат?Как мне решить это, чтобы получить то, что я хочу?

1 Ответ

0 голосов
/ 12 сентября 2018

Я думаю, что с like, если вы хотите сопоставить строки (или не совпадать со строками, как здесь), вам также понадобится % s в шаблоне, чтобы показать, где сопоставлять любые другие символы.Например, like '%match' будет соответствовать любой строке, заканчивающейся match, а like 'match%' будет соответствовать строке, начинающейся с соответствия.Вы также можете комбинировать их, чтобы соответствовать строке, содержащей совпадение, с like '%match%'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...