天天看点

记一个空格引发的血案

特助字符引起的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