我有两个配置单元表,需要将字符串列从表1转换为布尔列,再转换为表2。我发现的唯一一个函数是cast,但它只在输入是数值的情况下工作。例如,此返回“false”正确的内容:
SELECT CAST(0 AS BOOLEAN); # Result is true
但我的源代码是字符串列,其中的值为“false”,然后cast函数返回以下对我不正确的结果:
SELECT CAST("false" AS BOOLEAN); # Result is true
请问您知道如何在配置单元中将字符串列转换为布尔列的其他方法吗?
3条答案
按热度按时间mwngjboj1#
作为一个工作区,我建议直接使用case将字符串转换为我们想要的布尔值:
“true”时为case列,“false”时为true,否则为null结束列
0ejtzxu12#
这是一个小的解决办法,但它的工作。我用了case函数。样品:
sbtkgmzw3#
不能将字符串强制转换为布尔值,但可以将布尔值强制转换为字符串(如true->'1';假->“0”)。如果需要,还可以使用if子句。