当前位置:  开发笔记 > 后端 > 正文

在SQL查询中将int或null转换为boolean值的最佳方法是什么?

如何解决《在SQL查询中将int或null转换为boolean值的最佳方法是什么?》经验,为你挑选了2个好方法。

在SQL查询中将int或null转换为boolean值的最佳方法是什么,例如:

任何非空值为TRUE的结果

任何空值是的结果

Tomalak.. 53

据我所知(如果我错了,请纠正我),SQL中没有文字布尔值的概念.您可以将表达式计算为布尔值,但不能输出它们.

这就是说,您可以使用CASE WHEN生成可在比较中使用的值:

SELECT 
    CASE WHEN ValueColumn IS NULL THEN 'FALSE' ELSE 'TRUE' END BooleanOutput 
FROM 
    table 


cvk.. 19

无需使用案例...时:

select (column_name is not null) as result from table_name;

对于所有非NULL字段,返回1,对于所有NULL字段,返回0,这与SQL中的布尔值一样接近.



1> Tomalak..:

据我所知(如果我错了,请纠正我),SQL中没有文字布尔值的概念.您可以将表达式计算为布尔值,但不能输出它们.

这就是说,您可以使用CASE WHEN生成可在比较中使用的值:

SELECT 
    CASE WHEN ValueColumn IS NULL THEN 'FALSE' ELSE 'TRUE' END BooleanOutput 
FROM 
    table 



2> cvk..:

无需使用案例...时:

select (column_name is not null) as result from table_name;

对于所有非NULL字段,返回1,对于所有NULL字段,返回0,这与SQL中的布尔值一样接近.


它可能适用于MySQL,但很多奇怪的"便利"语法适用于MySQL,而不是在其他地方运行.
@Lette:'(column_name IS NULL)'和'(column_name IS NOT NULL)'都没有产生任何值.它们只能用作布尔表达式,如CASE WHEN [expression] THEN'true-value'ELSE'false-value'END
推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有