如何在雪花中将列数据类型varchar转换为boolean?

时间:2018-03-08 18:30:35

标签: snowflake-datawarehouse

SQL compilation error: cannot change column test1 from type BOOLEAN to VARCHAR(255);

SQL compilation error: cannot change column test2 from type VARCHAR(16777216) to VARCHAR(255)

1 个答案:

答案 0 :(得分:0)

如果你的意思是从VARCHAR到BOOLEAN,那很简单:

select 'true'::boolean, cast('False' as BOOLEAN);
-----------------+--------------------------+
 'TRUE'::BOOLEAN | CAST('FALSE' AS BOOLEAN) |
-----------------+--------------------------+
 TRUE            | FALSE                    |
-----------------+--------------------------+

但是,根据您的错误消息,您可能意味着从BOOLEAN到VARCHAR。似乎目前由于一些奇怪的原因而不支持这一点。我提交了一张内部机票来解决它。

与此同时,你可以通过以下方式解决这个问题:

SELECT IFF(boolean_column, 'TRUE', 'FALSE') ...
SELECT '' || boolean_column ...