一、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))