我在 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`="????!?;\%:?"
找不到值
????!?;%:?
知道为什么吗?