#布尔型
布尔型数据的值只有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