我需要更新我的数据库数据,条件是比较新旧值。
问题是新值是一个较长的字符串,包含数据库中的旧值,我找不到一种方法通过像 A contains B 这样的函数来比较它们,其中 A 是新值,B 是我数据库中的旧值。
我不想从数据库读取值并通过Java进行比较,如果匹配,则更新该值。我认为这对于处理一百万行来说会很沉重。
最佳答案
您可以使用like
:
where newvalue like concat(oldvalue, '%')
或
where newvalue like concat('%', oldvalue, '%')
区别在于新值是否需要以旧值开头,或者只是将其包含在任何位置。
关于mysql - mysql中如何比较两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36240312/