我有一个表,其中包含一个名为'time_source'的列,具有五个潜在值:
“模型”,“国家/地区城市”,“区域”,“更新”和“存储”
我一直在尝试做出一条更新语句,如果time_source是'model',则不会更新date_destination列:
update t_vessel_list_ballast
set date_destination = date_depart + voyage_time
where time_source not like 'model';
但是它没有按我期望的那样工作。相反,即使'model'在time_source中,它也会覆盖date_destination。我尝试过这样的事情:
update t_vessel_list_ballast
set date_destination = date_depart + voyage_time
where time_source like 'country_city'
or time_source like 'region';
但是我仍然得到相同的结果。
模型中没有其他地方可以发生这种情况。
为什么我没有得到我期望的结果?我该如何解决这个问题以获得我想要的东西?
答案 0 :(得分:0)
我认为使用like
时,如果您想匹配行(或不像此处那样匹配行),则还需要在模式上使用%
来显示在哪里匹配其他任何行字符。例如,like '%match'
将匹配任何以match
结尾的字符串,而like 'match%'
将匹配以match开头的字符串。您还可以将它们组合以匹配包含like '%match%'
匹配项的字符串。