别让SQL中的空字符串毁了你一个下午
- 2019 年 10 月 7 日
- 筆記
魔都的九月,天微微凉。
“适合出去浪一番了”L 看着窗外明亮的天空,又想起了芭堤雅的乔木提恩沙滩。“面朝大海,春暖花开”
“唷,L 兴致这么高啊,又开始做泰国攻略啦”
“随便看看,找找感觉。”眼瞅着快 5 点下班了,L 也着急,不会这个时候出幺蛾子吧,“咋了,出啥事了?”
“有个小问题,我找了半天,没找到原因,你帮我看下呗,我发邮件你了”
小C指着邮件里的截图,接着说:“这个content字段,不知道里面多了空格还是回车,死活匹配不了。前端反应,老是找不到对象。”
“那你把每个字符的ASCII码打印出来,不就知道content里面都是些什么字符了么”
“我写了个函数,在这里,你看,找到每个字符,打印其ASCII码值”

“我用两个案例测试了下,奇怪的是第一个案例,并没有把空格的ASCII码给打印出来”

“所以你怀疑你的函数写得哪里有问题”
“我隐约觉得,是”
“是的。还有更奇怪的事情,你看好了”
随即,L 运行了一个超级简单的SELECT语句,结果小C大跌眼镜

“怎么会这样?”
“还有更神奇的”
L 又写下一段脚本

“莫非,空格在字符串末尾被去掉了?”
“正是如此”
“那我用 LEN 去拿字符串长度,如果末尾是空格,始终丢一位啊。那怎么才能拿全呢?”
“试试 DataLength”


“果然,好坑啊。”
“这大概就是语言特性吧,就像你们女生一样,有的喜欢包包,有的喜欢宝宝,还有的喜欢口红”
“我不一样,我喜欢健身,哈哈……”
扫二维码加飞总微信
推荐飞总星球,物有所值
文章转载自公众号

有关SQL , 作者 Lenis