別讓SQL中的空字符串毀了你一個下午
- 2019 年 10 月 7 日
- 筆記
魔都的九月,天微微涼。
「適合出去浪一番了」L 看着窗外明亮的天空,又想起了芭堤雅的喬木提恩沙灘。「面朝大海,春暖花開」
「唷,L 興緻這麼高啊,又開始做泰國攻略啦」
「隨便看看,找找感覺。」眼瞅着快 5 點下班了,L 也着急,不會這個時候出幺蛾子吧,「咋了,出啥事了?」
「有個小問題,我找了半天,沒找到原因,你幫我看下唄,我發郵件你了」
小C指着郵件里的截圖,接著說:「這個content字段,不知道裏面多了空格還是回車,死活匹配不了。前端反應,老是找不到對象。」
「那你把每個字符的ASCII碼打印出來,不就知道content裏面都是些什麼字符了么」
「我寫了個函數,在這裡,你看,找到每個字符,打印其ASCII碼值」

「我用兩個案例測試了下,奇怪的是第一個案例,並沒有把空格的ASCII碼給打印出來」

「所以你懷疑你的函數寫得哪裡有問題」
「我隱約覺得,是」
「是的。還有更奇怪的事情,你看好了」
隨即,L 運行了一個超級簡單的SELECT語句,結果小C大跌眼鏡

「怎麼會這樣?」
「還有更神奇的」
L 又寫下一段腳本

「莫非,空格在字符串末尾被去掉了?」
「正是如此」
「那我用 LEN 去拿字符串長度,如果末尾是空格,始終丟一位啊。那怎麼才能拿全呢?」
「試試 DataLength」


「果然,好坑啊。」
「這大概就是語言特性吧,就像你們女生一樣,有的喜歡包包,有的喜歡寶寶,還有的喜歡口紅」
「我不一樣,我喜歡健身,哈哈……」
掃二維碼加飛總微信
推薦飛總星球,物有所值
文章轉載自公眾號

有關SQL , 作者 Lenis