我有一个名为 live_in_city
的列,它提供了一个布尔值。不过,我想将其转换为字符串。
我尝试使用 cast((live_in_city) as varchar(256))
,但它说不能将布尔类型转换为字符变化。
还有另一种方法吗?
原文由 user8659376 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个名为 live_in_city
的列,它提供了一个布尔值。不过,我想将其转换为字符串。
我尝试使用 cast((live_in_city) as varchar(256))
,但它说不能将布尔类型转换为字符变化。
还有另一种方法吗?
原文由 user8659376 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 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
。
原文由 clemens 发布,翻译遵循 CC BY-SA 3.0 许可协议
1 回答2.4k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
3 回答2.3k 阅读
2 回答944 阅读
尝试使用下面。在这里,您可以将值分配给 1 和 0 。然后转换它。
如果
live_in_city
是一个数字(整数,数字,…),则上述方法有效。对于真正的
boolean
列,应使用以下内容: