我有一个名为live_in_city
的列,它提供了一个布尔值。我想将它转换为字符串。
我尝试使用cast((live_in_city) as varchar(256))
,但它说不能将类型布尔值转换为字符变化。
还有另一种方法吗?
答案 0 :(得分:3)
在Postgres 9.5中投射到TEXT
对我来说很好:
# select (0 = 0)::TEXT, (0 = 1)::TEXT;
text | text
------+-------
true | false
(1 row)
并且您的代码也可以使用:
# SELECT cast((1 = 1) as varchar(256)), cast((1 = 0) as varchar(256));
varchar | varchar
---------+---------
true | false
(1 row)
注意:(1 = 1)
和(1 = 0)
是所有可能表达式的占位符,返回true
或false
。
答案 1 :(得分:2)
尝试使用以下内容。在这里,您可以将值分配给1和0。然后转换它。
Select
Cast(Case
When live_in_city=1 Then 'True'
ELse 'False' END
AS Varchar(256))
from #t
答案 2 :(得分:0)
您可以将其转换为这样的文本:
CAST(table.column AS TEXT)