我更喜欢1/0而不是t / f,所以在将布尔值转换为整数时应该使用什么?
select coalesce((null::boolean)::int, 0)
OR
select case null::boolean when 't' then 1 else 0 end
......别的什么?
答案 0 :(得分:14)
无论你做什么,布尔值null都不等于false,只要数字null等于零。
尝试:
Cast(col1 as integer)
如果您真的想将null视为false,那么:
case when col1 then 1 else 0 end
虽然这会是一件坏事