我需要更新我的数据库数据,条件是比较旧值和新值。
问题是新值是一个包含db旧值的较长字符串,我找不到通过像A包含B的函数来比较它们的方法,其中A是新值,B是我的db中的旧值。
我不想读取DB中的值并通过Java进行比较,如果匹配,则更新值。我认为处理一百万行会很重。
答案 0 :(得分:1)
您可以使用like
:
where newvalue like concat(oldvalue, '%')
或
where newvalue like concat('%', oldvalue, '%')
不同之处在于新值是需要以旧值开头还是只需将其包含在任何地方。