一、ERROR: column "..." does not exist
在PostgreSQL中,不论是在pgAdmin中,还是在命令行控制台里面,在SQL语句中表示属性值的总会遇到ERROR: column "..." does not exist这样的错误,比如下面的语句:
解决方案:将 "27" 的双引号改成 单引号 就行了。
问题原因:可能是被双引号括起来的,PostgreSQL都会认为是“名称”,如表名,字段名等,而被单引号括起来的就表示值了。
可以对比下,颜色都不一样。所以在MyBatis里遇到这个问题,估计也是双引号的原因。
二、字符串转整数 integer
<if test="dbid != null">and (dbid = #{dbid} or id = cast(#{dbid} as integer))</if>
1、字符串转数字类型
// 把'1234'转成整数
select cast('1234' as integer ) ; // 用substring截取字符串,从第8个字符开始截取2个字符:结果是12
select cast(substring('1234abc12',8,2) as integer)
2、把数字类型与字符类型比较
// 进行转换:cast(classify.ad_org_id as char(4))
glt0.bukrs=cast(classify.ad_org_id as char(4))