PostgreSQL小知識:column "..." does not exist、字符串轉整數integer


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM