我得到一個錯誤「不兼容的類型:bigint和字符變化。」但我知道通常有一個技巧繞過這個。如何將字段從bigint更改爲postgresql中的字符?
2
A
回答
6
似乎在PG 9.0做工精細,但如果不是在你的版本,你可以隨時轉換第一個文本:
select 1::bigint::text::varchar;
4
alter table abc alter column def type varchar using def::varchar;
0
首先,謝謝你「丹尼斯日Bernardy」 (以上評論),
我試圖更新一個字段,這是非常有幫助的。
最近,我一直在學習的PostgreSQL VS紅移SQL和查詢的不同之處......
所以試圖做的紅移更新它的工作就像這樣:
UPDATE table_name SET fieldname = fieldname + 100
FROM table_name WHERE substring(fieldname from 4 for 2)
IN ('01','02','03','04','05','06','07','08','09','10','11','12');
但Postgres的9.3我的查詢失敗。
這麼多的研究,並試圖找到任何東西,使其工作後...
在結束時,所有我新增加是::varchar
到字段名的,像這樣的結尾:
fieldname::varchar
原因是postgresql substring()期望文本和我的fieldname是一個BIGINT,它阻止了我無法使用子函數。
所以比較查詢:
舊的查詢
UPDATE table_name SET fieldname = fieldname + 100
FROM table_name WHERE substring(fieldname from 4 for 2)
IN ('01','02','03','04','05','06','07','08','09','10','11','12');
新建查詢Postgres的9.3
UPDATE table_name SET fieldname = fieldname + 100
FROM table_name WHERE substring(fieldname::varchar from 4 for 2)
IN ('01','02','03','04','05','06','07','08','09','10','11','12');
請注意:同樣我所要做的就是轉換字段用於子字符串查詢中以包含:: varchar
再次,
謝謝。
相關問題
- 1. 將PHP字段中的字段從必需字段更改爲可選字段
- 2. jQuery將字段更改爲相關字段的子字符串
- 3. 如何在R中將數值從數字更改爲字符?
- 4. postgreSQL同時將列類型從int更改爲bigint
- 5. 如何在ElasticSearch中將字段從index = false更改爲index = true
- 6. PostgreSQL - 如何將數字字段中的秒數轉換爲HH:MM:SS
- 7. 如何將字符串更改爲Uri
- 8. 如何將csrf字段ID從YII_CSRF_TOKEN更改爲任何其他
- 9. postgresql:將bytea轉換爲bigint
- 10. 如何將段落的字體更改爲特定字體CSS
- 11. 如何將字符串更改爲C++中的多字符文字?
- 12. 如何在C++中將字符串更改爲int數字?
- 13. Plyr將數字更改爲字符
- 14. Excel宏將字段數據類型字符串更改爲長
- 15. 如何將數字更改爲格式化的字符串
- 16. SQL Server將字段類型從數字更改爲int
- 17. javascript將字符串視爲字符數組 - 如何更改該字符串?
- 18. 從字符串中PostgreSQL的
- 19. R將字符串更改爲數字框中的數字
- 20. 將MySQL中的字段從TEXT更改爲LONGTEXT
- 21. 更改字段標識符而不更改字段名稱
- 22. PostgreSQL:如何從特殊字符開始從varchar字段中刪除?(regexp_replace)
- 23. 在不同的表中將列從INT更改爲BIGINT
- 24. 更改字段分隔符
- 25. 如何將字典更改爲字符串
- 26. 如何在Crystal Report字段中將「-1」更改爲「yes」值?
- 27. 將像素更改爲符號/字符
- 28. 如何將多列中的特定字符串更改爲NA並將列更改爲數字
- 29. 如何將React-Native中的字符串更改爲組件?
- 30. 如何將所有選定的字符更改爲_在Vim中
他在談論鑄造,而不是改變列。 – 2012-10-26 11:16:02