【问题标题】:Repetitve DB value重复 DB 值
【发布时间】:2016-02-04 15:51:59
【问题描述】:

我需要在表格的一行中找到所有重复的值,例如123text123text(重复的子字符串之间可能有换行符。

所以我需要一个 SQL 查询来告诉 PhpMyAdmin 返回所有实例都是值的子字符串前半部分 == 子字符串值的后半部分。

--UPDATE 我认为我的查询不需要正则表达式,它只需要从行中选择值是从开始的子字符串,直到一半的字符串等于一半的子字符串字符串直到结束 谢谢!

【问题讨论】:

  • 您使用的是哪个 dbms? (字符串处理可能不同...)
  • 不是 100% 肯定,但请尝试 SELECT columnname FROM table WHERE columnname LIKE "%123text%123text%"(在大桌子上会很慢)
  • 123text 是一个示例,值将是任何字符串,只是它们将被写入两次 123text123text、567more567more、75756vvdvbb75756vvdvbb 等...
  • 我投票结束您的问题,因为您的问题过于宽泛,因为您的解释中有很多方面需要解决。字符串将恰好是一半?如果一个字符串是“12ab12ab12ab”,其中一半将是“ab12ab”,它不会重复;当您说换行符时,您的意思是它是具有更大文本的列类型文本还是什么?请考虑将您的表格结构与示例数据一起添加,以便我们更好地理解
  • 字符串将完全加倍,在加倍的文本之间可能会插入一个 \n。这不是一个复杂的单元格,只是一个数据库表中的一个普通值我不熟悉执行这种查询的语法,所以我要求一个指针

标签: mysql sql


【解决方案1】:

好吧,就这么简单

SELECT * FROM table_name WHERE substring(column, (length(column)/2)+1) like substring(column, 1, (length(column)/2)-1)

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多