回答

收藏

在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
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则