DB2—SQLCODE=-206 错误原因及解决办法
data studio报错信息如下:${colname} is not valid in the context where it is used.. SQLCODE=-206, SQLSTATE=42703…
db2 command line报错信息如下:sql0206N ${colname} is not valid in the context where it is used.
网上说到的很多关于其他解决办法的,大体上无非是指列名究竟是否存在,是否指定了schema。
本文介绍一下另外一种情况,即DB2对字段名大小写敏感的问题,这种问题发生在建表时字段名用双引号括起来,如果全是大写则没有关系,但是如果字段名出现小写并且被引号括上,一定在select等时候字段名要加上双引号,例如:
- select * from ${TABNAME} where ${colname} =’’//错误
- select * from ${TABNAME} where “${colname}” =’’//正确
为什么DB2对小写会敏感呢?直接原因是因为db2对小写的字段名会自动转成大写去匹配,结果是肯定匹配不到的,但是至于db2的底层是如何去匹配、为什么在匹配的时候不自动忽略大小写,这个暂时还没有查询到相关资料,待我去developerworks问一问。