Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从带有位列的HSQLDB表中选择_Java_Hsqldb - Fatal编程技术网

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”,它会工作。