mysql 隐藏的字符_隐藏字符的MYSQL查询失败?

我一直试图围绕一个可能的隐藏价值.

每当我运行此查询

SELECT * FROM LIST WHERE `GROUP_2` = "Yes";

我得到0结果.

每当我运行这个:

SELECT * FROM LIST WHERE `GROUP_2` LIKE 'Yes%';

我能拉结果.

我已经尝试了许多不同的导出和导入参数使用MySQL加载数据进行csv导入但没有任何作用. GROUP_1和GROUP_2都设置为varchar(55)

我可以运行任何查询来确定原因或检测隐藏的分隔线?

ID name GROUP_1 GROUP_2

1 Bob No Yes

2 Jim Yes No

解决方法:

要确定问题所在,可以使用HEX功能:

SELECT group_1, HEX(group_1)

FROM table

WHERE group_1 LIKE 'Yes%' AND group_1!='Yes'

是的应编码为596573(取决于使用的代码集可能会有所不同),但您会看到其后的一些其他字符.

编辑

我建议你找到根本原因并修复文本文件或导入过程.但是,如果要在不执行新导入的情况下修复现有数据,则有多个选项.

您可以关注xQbert链接(感谢您的链接!):

update table SET group_2 = TRIM(TRAILING '\n' FROM group_2);

或修复自己的查询:

UPDATE TABLE set GROUP_2 = replace(replace(GROUP_2,'\n',''), '\r', '');

或者如果您只有/没有值:

UPDATE TABLE set GROUP_2='Yes' WHERE group_2 LIKE 'Yes%' AND group_2!='Yes';

UPDATE TABLE set GROUP_2='No' WHERE group_2 LIKE 'No%' AND group_2!='No';

标签:mysql

来源: https://codeday.me/bug/20190722/1504128.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值