PostgreSQL boolean cast(0为false)

时间:2013-04-22 08:19:59

标签: postgresql casting

我更喜欢1/0而不是t / f,所以在将布尔值转换为整数时应该使用什么?

select coalesce((null::boolean)::int, 0)

OR

select case null::boolean when 't' then 1 else 0 end

......别的什么?

1 个答案:

答案 0 :(得分:14)

无论你做什么,布尔值null都不等于false,只要数字null等于零。

尝试:

Cast(col1 as integer)

如果您真的想将null视为false,那么:

case when col1 then 1 else 0 end

虽然这会是一件坏事