从具有BIT列的HSQLDB表中进行选择

时间:2011-09-28 10:43:45

标签: java hsqldb

我有一个包含数据类型bit的列的表。

> CREATE MEMORY TABLE Dummy (name varchar(10), flag bit)
> INSERT INTO Dummy VALUES ('foo', 1)
> INSERT INTO Dummy VALUES ('bar', 0)
> INSERT INTO Dummy VALUES ('foo2', true)
> INSERT INTO Dummy VALUES ('bar2', false)

> select name from Dummy where flag=1

foo2

> select name from Dummy where flag=true

foo2

为什么我没有foo01位如何转换为布尔值?似乎两者都是假的,我无法区分它们。

(顺便说一句,这个表基于我在Sybase中的一个。位1和0正确地转换为true和false。)

1 个答案:

答案 0 :(得分:1)

这可以像您期望的那样使用HSQLDB 2.2.5,返回两行。

HSQLDB 2.x直接支持BIT类型并存储位值。可以存储值B'0'和B'1'。它将TRUE和FALSE分别转换为1和0。整数值0和1也被转换为位。

HSQLDB 1.8在定义列后立即将BIT转换为BOOLEAN。从整数转换可能并不总是有效。