mysql - mysql中如何比较两个字符串

标签 mysql sql

我需要更新我的数据库数据,条件是比较新旧值。

问题是新值是一个较长的字符串,包含数据库中的旧值,我找不到一种方法通过像 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/

相关文章:

php - 为什么我的删除操作没有执行?

sql - 如何在sql中比较小时和分钟

SQL NOOB - Oracle 连接和行号

sql - PostgreSQL - 如何使用窗口函数从列中提取最大值

mysql - 如何编译MySQL "Words"的完整列表

mysql - 是mysql还是mysqld?

php - 为什么它总是说: Undefined index: User

php - jQuery 验证远程方法用法以检查用户名是否已存在

c# - ISNULL 与 CASE 返回类型

mysql - 复杂的 CakePHP 查询重构