
看起来相同的两个 sql 语句,为什么第一条查询不到数据,有哪位大神知道原因
1
moen 2022 年 7 月 15 日 via Android 字符串里掺杂了不可见字符吧
|
2
Saxton 2022 年 7 月 15 日
找个在线统计文字的 把两条 SQL 复制进去对比一下
|
3
dongtingyue 2022 年 7 月 15 日
试过调换两个 sql 语句测试么
|
4
xiangyuecn 2022 年 7 月 15 日
|
5
xiangyuecn 2022 年 7 月 15 日
另外 trim 函数 也是反人类的,有些语言能去掉,有些不能😂
归根结底,还是 输入框 /编辑器 反人类,好在 chrome 控制台还是比较良心的 这种字符一眼就能看出来 |
6
sgq1128 2022 年 7 月 15 日
零宽字符了解下
|
7
ozipin 2022 年 7 月 15 日
不可见字符+1 ,建议对查询不到的那条语句删除首尾字符手动补全试试
|
8
lookStupiToForce 2022 年 7 月 15 日
混编这种不可见不可打印字符的人啥居心啊,是要害人还是怕人抢饭碗啊
|
9
bruce0 2022 年 7 月 15 日
不可见字符+1 我上次遇到过一次, 就是 windows 下的 utf-8 文件会 自动加一个 BOM, 但是 linux 不会, 就会导致两个字符,肉眼看一模一样, 但是用字符比较就会出现差别, 最终找到原因是 windows 会自动加 BOM, 最后
``` bytes.TrimPrefix(s, []byte{255, 254}) ``` 去掉就好了 |
10
Mutoo 2022 年 7 月 15 日
另一个可能是执行 sql 的环境不一致,例如其中一个 use 了另一个 database 。
|
12
dcsuibian 2022 年 7 月 15 日
遍历 codepoint 对比下。
我项目里都是用 utf8 without bom 的。 |