【问题标题】:Find Numeric code string in a SELECT mysql statement with LIKE使用 LIKE 在 SELECT mysql 语句中查找数字代码字符串
【发布时间】:2020-01-23 09:50:34
【问题描述】:

我用'将单引号保存在我的utf8 mysql数据库中。

现在我只想选择名称列中包含' 的所有行。所以我这样做:

SELECT * WHERE name LIKE "%'%"

但这会给我一个空的结果。如果我这样做了

 SELECT * WHERE name LIKE "%&#%"

例如,它工作得很好。 我做错了什么?我要搜索完整的字符串'

【问题讨论】:

  • 真正的问题是,当您使用 utf8 编码时,为什么您的 HTML 实体对 apostrof 进行编码..
  • 您能告诉我们数据库中的数据是什么样的吗?
  • LIKE '%'%' 可以很好地找到其中包含 ' 的值;如果您没有找到任何相关内容,那么您的数据很可能首先包含'
  • @hillcode 你试过我的答案了吗?

标签: php mysql numeric


【解决方案1】:

这是您的查询的一个工作示例:

https://www.db-fiddle.com/f/ci63XiAPbKLaz7bRksJ4gW/1

问题可能取决于其他因素,例如' 是如何存储在数据库中的。

可能是'按原样插入的情况,试试这个:

SELECT * FROM test WHERE name LIKE "%'%";

在同一个db-fiddle你可以试试这个。

您可以在同一个查询中搜索这两种情况:

SELECT * FROM test WHERE (name LIKE "%'%" OR name LIKE "%'%");

【讨论】:

    【解决方案2】:

    SELECT * FROM testone WHERE val LIKE '''

    result

    From Table

    【讨论】:

    • 不,没有做这项工作......缺少 % 并且结果为空,因为单引号在不同的名称值中
    猜你喜欢
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 2021-11-27
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2021-01-28
    相关资源
    最近更新 更多