台灣最大程式設計社群網站
線上人數
1044
 
會員總數:245116
討論主題:189028
歡迎您免費加入會員
討論區列表 >> 其他DB >> pgsql如何改欄位屬性
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
pgsql如何改欄位屬性
價值 : 30 QP  點閱數:4654 回應數:4

樓主

力胖
初學者
212 86
1583 213
發送站內信

我找到了修改屬性的語法
ALTER TABLE test
ALTER COLUMN aa integer
但在pgsql會出現錯誤如下
SQL 狀態: 42601
不知在pgsql上要如何修改屬性
我想把text轉成integer。
我的內容都是數字,但之前建的時候就建成text!!

本篇文章發表於2011-08-04 22:22
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

bestlong
捐贈 VP 給 bestlong 檢舉此回應
你輸入的 SQL 指令



得到錯誤碼 42601 是 syntax_error (語法錯誤),正確的指令格式應該是



錯誤碼參考 http://developer.postgresql.org/pgdocs/postgres/errcodes-appendix.html
語法說明 http://developer.postgresql.org/pgdocs/postgres/ddl-alter.html#AEN2767
本篇文章回覆於2011-08-05 11:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

力胖
檢舉此回應
這個方法我試過了!還是不行!!
column "aa" cannot be cast to type "pg_catalog.int4"
是因為我aa是字串格式的關係嗎? aa型態是text
本篇文章回覆於2011-08-06 01:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

bestlong
捐贈 VP 給 bestlong 檢舉此回應
盡量試著看完一次文件會比較好,舊版的也沒關係

欄位的型態轉換有分相容與不相容,可以小轉大而不可大轉小
不相容的型態可以用轉型函數來處理

先將欄位 aa 改名稱為 aa2
然後新增欄位 aa 型態為 integer
然後轉換 aa2 資料到 aa
最後刪除 aa2


本篇文章回覆於2011-08-06 14:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

力胖
檢舉此回應
我找到代替方案了,改成
select sum(float8(text)) where id=1
這種方試!!
本篇文章回覆於2011-08-19 12:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.