1
데이터 유형이 bit
인 테이블이 있습니다.BIT 컬럼으로 HSQLDB 테이블에서 선택하기
> 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
비트는 부울로 어떻게 변환됩니까? 둘 다 거짓이며 둘 사이를 구별 할 수없는 것 같습니다.
이 (내가베이스 방식으로이 테이블 하나를 기반으로되어 있습니다. 비트 1과 0이 제대로 true와 false로 변환됩니다.)
당신이 HSQLDB 2.2.5에 기대하는 것처럼이 작동
팁 주셔서 감사합니다. 나는 1.8에서 2.2.4로 업그레이드했다. 1 또는 0을 사용할 때 "잘못된 형식의 이진 문자열"오류가 발생하지만 '1'또는 '0'을 사용하면 작동합니다. – dogbane