Java 从带有位列的HSQLDB表中选择
我有一个数据类型为Java 从带有位列的HSQLDB表中选择,java,hsqldb,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) &
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
为什么我不能得到foo
?如何将0
和1
位转换为布尔值?似乎两者都是假的,我无法区分它们
(顺便说一句,这个表是基于我在Sybase中的一个表。位1和0被正确地转换为true和false。)这与HSQLDB 2.2.5的预期效果一样,返回两行 HSQLDB2.x直接支持位类型并存储位值。可以存储值B'0'和B'1'。它将TRUE和FALSE分别转换为1和0。整数值0和1也被转换为位
定义列后,HSQLDB1.8将位转换为布尔值。从整数转换可能并不总是有效。这与HSQLDB 2.2.5的预期效果一样,返回两行 HSQLDB2.x直接支持位类型并存储位值。可以存储值B'0'和B'1'。它将TRUE和FALSE分别转换为1和0。整数值0和1也被转换为位
定义列后,HSQLDB1.8将位转换为布尔值。从整数转换可能并不总是有效。谢谢您的提示。我现在已从1.8升级到2.2.4。当我使用1或0时,我得到一个“格式错误的二进制字符串”错误,但是如果我使用“1”或“0”,它会工作。谢谢你的提示。我现在已从1.8升级到2.2.4。当我使用1或0时,我得到一个“格式错误的二进制字符串”错误,但如果我使用“1”或“0”,它会工作。