#布尔型

布尔型数据的值只有1(TRUE)和0(FALSE),其字节长度为1,可用于指示某个二元特性的状态(例如该用户是否为VIP)。此外,该类型也是很多条件(例如比较运算、LIKE/NOT LIKE语句等)的输出类型,被广泛用于WHERE和HAVING语句中来过滤数据。

YashanDB对布尔型数据的处理规则:

1.允许对布尔型字段插入如下值(大小写不敏感)。

类型 输入值 转换值
字符型 'true'、't'、 'yes'、 'y'、 'on'、 '1' 1
字符型 'false'、'f'、 'no'、 'n'、 'off'、 '0' 0
标识符 true 1
标识符 false 0
整型数值 非0整数 1
整型数值 0 0

2.允许布尔型与整型数值互转,其中非0的整数可以转换为true,但true只能转换为整数1。

3.允许布尔型和整型数值进行比较。

示例

CREATE TABLE bools(c_b1 BOOLEAN, c_b2 BOOLEAN, c_b3 BOOLEAN, c_b4 BOOLEAN);
  
-- 插入其他类型转布尔
INSERT INTO bools VALUES('t', 'no', 'on', 4);
SELECT c_b1,c_b2,c_b3,c_b4 FROM bools;
C_B1                 C_B2                 C_B3                 C_B4               
-------------------- -------------------- -------------------- --------------------
true                 false                true                 true
  
-- 布尔转整型参与比较
SELECT CASE CAST(c_b1 AS INT)
WHEN 1 THEN '11111'
WHEN 2 THEN '22222'
END b
FROM bools
WHERE c_b2<4;
B       
---------
11111
pdf-btn 下载文档
copy-btn 复制链接