gpt4 book ai didi

mysql - 在 mysql 中查找确切的值

转载 作者:太空宇宙 更新时间:2023-11-03 10:34:54 25 4
gpt4 key购买 nike

我正在尝试解决如何从字符串中找到准确值的问题。

Database

然后问题是在列 StringB 中搜索值 1,它会找到包含 1 的所有行。我的想法是,如果我在 StringB 中查找值 1,它应该只会找到值准确的位置。

使用 LIKE 不是一个完美的选择,因为它将获取包含 1 的所有行,使用 = 也不是一个选项,因为它寻找相等的值(value)。还尝试使用 INSTR,但它的工作原理与 LIKE 几乎相同。与 Locate 相同。

目前存储的格式有:

  • 数字(例如:“2”不带“”)
  • 号码。 (例如:“2.”没有“”)
  • number.number(例如:“2.23.52.12.35”不带“”)

而且它们不会改变。

该列只存储数字,不存储字母或其他类型的字符串 ONLY numbers (integer type)

有什么方法可以严格搜索值吗?

我的数据库是 InnoDB。感谢您的宝贵时间。

最佳答案

尝试使用 REGEXP:

SELECT *
FROM yourTable
WHERE CONCAT('.', StringB, '.') REGEXP CONCAT('[.]', '2', '[.]');

Demo

我们也可以使用 LIKE 代替 REGEXP:

SELECT *
FROM yourTable
WHERE CONCAT('.', StringB, '.') LIKE CONCAT('%.', '2', '.%');

关于mysql - 在 mysql 中查找确切的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50115366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com