天天看點

記一個空格引發的血案

特助字元引起的SQL錯誤;找不到SQL問題?看起來完美無缺的它竟然是因為這個!

  今天一個資料的同僚找到我,說他有一段怎麼看都很正常也很簡單的SQL,就是一直報錯,研究了一天了也沒搞明白。項目進度緊張,我讓他先發我看看。   環境:FD1.6(psql6.16.2)

  看着沒啥問題啊···手動規整了下格式

  得,這下更看不出問題了。差分代碼執行,發現大機率是在case when這裡的問題

  我把SQL放入了navicat\kettle\FR\FT中分别運作,FT竟然可以運作?那這樣看來是驅動的問題?因為我記得唯一的差別是FT資料連接配接用的FD類型,其他平台則用的PSQL驅動。不可能,這語句太常見了。

  第二天複現得時候,又去唯一成功得FT上去看,這次沒成功?!仔細回想,上次在FT上點了"美化SQL"的選項,看來應該是FT幫助我修複了錯誤。那就是特殊字元号的問題了,一旁的長忠提醒我,查下空格?好家夥,怎麼還有不是空格得空格:

記一個空格引發的血案

  一百度,全角空格啊···

  問題是:敲入了不知名全角空格

  原因是:SQL不支援全角空格

(又水了一篇慚愧)

本文來自部落格園,作者:拼命十三郎,轉載請注明原文連結:https://www.cnblogs.com/shixiu/p/15429375.html