0

我在 mysql 数据库中有一个具有奇怪值的字段:

    ????!"?;%:?*()_+,??????/????\/

问题是我无法选择它 - 以下语句不返回任何行

SELECT *
    FROM `pool_tag` AS `Extent1`
    where `Extent1`.`PoolTag`='????!"?;%:?*()_+,??????/????\/' 

该值包含“

我也在尝试使用规则来复制符号,所以使用了这个 sql

SELECT *
    FROM `pool_tag` AS `Extent1`
    where `Extent1`.`PoolTag`="????!**""**?;%:?*()_+,??????/????\/" 

(注意位置 6 上的双引号)

但是还是没有结果

另一个问题可能是,即使我找到了直接在 sql 查询中处理的特定语法,我也需要从 Entity Framework 中选择它(实际上你看到的查询是由 EF 生成的)

知道如何处理吗?


编辑

我发现了有关 mysql 转义字符的信息,我一一检查了所有内容(“,',\,%),我发现 % 导致了问题。

如果我从字段和搜索值中删除它,则 sql 有效

如果我将它留在字段中,并尝试在 sql select 中对其进行转义,代码仍然不起作用

例如

SELECT *
    FROM `pool_tag` AS `Extent1`
    where `Extent1`.`PoolTag`="????!?;\%:?" 

找不到值

????!?;%:?

知道为什么吗?

4

0 回答 0