我有一個變量'x',它是staging表中的varchar,但它在目標表中被設置爲布爾值,它具有'true'和'false'值。如何將varchar轉換爲postgresql中的布爾值?如何將varchar轉換爲布爾值
回答
如果varchar列包含one of the strings(不區分大小寫):
t
,true
,y
,yes
,on
,1
f
,false
,n
,no
,off
,0
,你可以簡單地將它轉換爲布爾值,例如:
select 'true'::boolean, 'false'::boolean;
bool | bool
------+------
t | f
(1 row)
請參閱SQLFiddle。
這不是真的,請參閱'select'true':: varchar :: boolean,'false':: varchar :: boolean;' –
它有什麼問題? [SQLFiddle](http://sqlfiddle.com/#!15/9eecb7db59d16c80417c72d1e1f4fbf1/17922) – klin
嗯,有趣。我會發誓我在新的PostgreSQL中也看到了一個錯誤,但似乎這只是Redshift和舊PostgreSQL版本中的一個問題。 –
對於老版本的PostgreSQL和紅移鑄造不會工作,但下列情況:
SELECT boolin(textout('true'::varchar)), boolin(textout('false'::varchar));
見SQLFiddle也看到在PostgreSQL list的討論。
紅移,我有以下的好運:
SELECT DECODE(column_name,
'false', '0',
'true', '1'
)::integer::boolean from table_name;
這只是映射爲varchar字符串'0'
或'1'
其紅移可以再投第一個整數,然後終於到布爾值。
這種方法的一個很大的優點是它可以擴展到包含任何你想要映射的附加字符串。即:
SELECT DECODE(column_name,
'false', '0',
'no', '0',
'true', '1',
'yes', '1'
)::integer::boolean from table_name;
你可以閱讀更多關於解碼方法here。
- 1. 如何將varchar轉換爲布爾值postgresql
- 2. 如何將char轉換爲布爾值?
- 3. 將Varchar值轉換爲散列值:varchar
- 4. 如何將varchar列值轉換爲int?
- 5. 如何將varchar值轉換爲datetime?
- 6. 將數值轉換爲Varchar
- 7. 將返回的布爾值轉換爲布爾值
- 8. 將字符串轉換爲布爾值並檢查布爾值
- 9. 布爾:如何將NAND4轉換爲NAND2
- 10. 將int []轉換爲布爾值[]
- 11. 使用'!!'將PHP轉換爲布爾值
- 12. 將JRadioButton轉換爲布爾值?
- 13. 將字符串轉換爲布爾值
- 14. 幫助將Hex轉換爲布爾值?
- 15. 將對象轉換爲布爾值[] []
- 16. 將Int32轉換爲布爾
- 17. 將布爾轉換爲Varchar2
- 18. 如何將正確的表達式寫入布爾值? (無法從布爾值轉換爲布爾值)
- 19. 如何將布爾轉換可空布爾(布爾?)
- 20. 將mysql LONGTEXT值轉換爲VARCHAR值?
- 21. 如何將字符串轉換爲布爾值?
- 22. 如何在ASP.NET GridView中將DateTime轉換爲布爾值?
- 23. 如何將布爾值轉換爲位字段c
- 24. Visual Basic 6如何將整數轉換爲布爾值?
- 25. 如何將char轉換爲Java中的布爾值?
- 26. 如何將布爾值轉換爲本地化字符串
- 27. Struts:如何使用bean:write來將布爾值轉換爲是/否
- 28. JPype:如何將布爾值從python轉換爲java
- 29. 如何將主活動的布爾值轉換爲類?
- 30. 如何將動態空布爾值轉換爲假
是否要插入,選擇更新?或者是什麼? –
我想更新 – Ramesh