PostgreSQL支援bit format,因為正好需要bit格式所以就用了,
不巧jdbc driver Byte對不上bit,會throw一個Exception上來告訴你型態不對,
所以必須自己產生SQL段,經Query Window測試有下兩種語法可用(B大小寫都可)
update table_name set type=b'101' where id=1
update table_name set type=B'111'::bit( 3 ) where id=1
其餘的就照原先的作法就可以。
測試平台: Fedora 9+ PostgreSQL 8.3 in ibook,
jdbc : postgresql-8.3-604.jdbc4.jar
另外,Integer.toBinaryString可用來轉換型態,接到上面B的後面,如下,
Integer.toBinaryString(type.byteValue()) --> type is Byte
後來,發現有長度問題(因為長度3,長度2的資料進不去)
加上以下function應該就OK了,用意在前面補0
String.format("%1$03d",new Integer)
文章定位: