在SQL查询中将int或null转换为布尔值的最佳方法是什么?
技术问答
227 人阅读
|
0 人回复
|
2023-09-14
|
在SQL查询中将int或null转换为布尔值的最佳方法是什么,例如: ^0 [+ u. k. y: t7 g! F
任何非空值为 TRUE 的结果
# t0 o! y$ N9 i( l1 n; S任何空值是 假 的结果
7 i7 m0 F/ r. K! d. l4 c
' l, t, X( i) n; z/ N( H 7 H8 d. w1 g* m) c3 z9 P
解决方案:( A8 S. i" _0 k. Y1 k/ Q
u# n4 w. J8 i$ k" j. C, F2 t# `/ @! Y* V6 q- W# _3 ^# o# R& o7 Z
9 d& `( {5 j& Y9 E) D! `* f- v% y
据我所知(如果我错了,请纠正我),SQL中没有文字布尔值的概念。您可以使表达式的计算结果为布尔值,但不能输出它们。4 ]9 q+ i' N- \$ X- C0 @
就是说,您可以使用CASE WHEN来产生可以在比较中使用的值:
! V3 n' C6 J6 Z" M- `SELECT
7 S3 S. s% G$ c5 e, G7 F3 D CASE WHEN ValueColumn IS NULL THEN 'FALSE' ELSE 'TRUE' END BooleanOutput ( e9 V2 h H7 \* @) s: R* R
FROM % R- r' _9 b) Z' ]7 q
table |
|
|
|
|
|