INSERTINTO BIT_TABLE VALUES (B'10'); -- too short INSERTINTO BIT_TABLE VALUES (B'00000000000'); INSERTINTO BIT_TABLE VALUES (B'11011000000'); INSERTINTO BIT_TABLE VALUES (B'01010101010'); INSERTINTO BIT_TABLE VALUES (B'101011111010'); -- too long --INSERT INTO BIT_TABLE VALUES ('X554'); --INSERT INTO BIT_TABLE VALUES ('X555');
SELECT * FROM BIT_TABLE;
CREATETABLE VARBIT_TABLE(v BIT VARYING(11));
INSERTINTO VARBIT_TABLE VALUES (B''); INSERTINTO VARBIT_TABLE VALUES (B'0'); INSERTINTO VARBIT_TABLE VALUES (B'010101'); INSERTINTO VARBIT_TABLE VALUES (B'01010101010'); INSERTINTO VARBIT_TABLE VALUES (B'101011111010'); -- too long --INSERT INTO VARBIT_TABLE VALUES ('X554'); --INSERT INTO VARBIT_TABLE VALUES ('X555'); SELECT * FROM VARBIT_TABLE;
-- Literals with syntax errors SELECT b' 0'; SELECT b'0 '; SELECT x' 0'; SELECT x'0 ';
-- Concatenation SELECT v, b, (v || b) AS concat FROM BIT_TABLE, VARBIT_TABLE ORDERBY3;
-- Length SELECT b, length(b) AS lb FROM BIT_TABLE; SELECT v, length(v) AS lv FROM VARBIT_TABLE;
-- Substring SELECT b,
SUBSTRING(b FROM2FOR4) AS sub_2_4,
SUBSTRING(b FROM7FOR13) AS sub_7_13,
SUBSTRING(b FROM6) AS sub_6 FROM BIT_TABLE; SELECT v,
SUBSTRING(v FROM2FOR4) AS sub_2_4,
SUBSTRING(v FROM7FOR13) AS sub_7_13,
SUBSTRING(v FROM6) AS sub_6 FROM VARBIT_TABLE;
-- test overflow cases SELECT SUBSTRING('01010101'::bit(8) FROM2FOR2147483646) AS"1010101"; SELECT SUBSTRING('01010101'::bit(8) FROM -10FOR2147483646) AS"01010101"; SELECT SUBSTRING('01010101'::bit(8) FROM -10FOR -2147483646) AS"error"; SELECT SUBSTRING('01010101'::varbit FROM2FOR2147483646) AS"1010101"; SELECT SUBSTRING('01010101'::varbit FROM -10FOR2147483646) AS"01010101"; SELECT SUBSTRING('01010101'::varbit FROM -10FOR -2147483646) AS"error";
--- Bit operations DROPTABLE varbit_table; CREATETABLE varbit_table (a BIT VARYING(16), b BIT VARYING(16));
COPY varbit_table FROM stdin;
X0F X10
X1F X11
X2F X12
X3F X13
X8F X04
X000F X0010
X0123 XFFFF
X2468 X2468
XFA50 X05AF
X1234 XFFF5
\.
SELECT a, b, ~a AS"~ a", a & b AS"a & b",
a | b AS"a | b", a # b AS"a # b"FROM varbit_table; SELECT a,b,a<b AS"a<b",a<=b AS"a<=b",a=b AS"a=b",
a>=b AS"a>=b",a>b AS"a>b",a<>b AS"a<>b"FROM varbit_table; SELECT a,a<<4AS"a<<4",b,b>>2AS"b>>2"FROM varbit_table;
DROPTABLE varbit_table;
--- Bit operations DROPTABLE bit_table; CREATETABLE bit_table (a BIT(16), b BIT(16));
COPY bit_table FROM stdin;
X0F00 X1000
X1F00 X1100
X2F00 X1200
X3F00 X1300
X8F00 X0400
X000F X0010
X0123 XFFFF
X2468 X2468
XFA50 X05AF
X1234 XFFF5
\.
-- This table is intentionally left around to exercise pg_dump/pg_upgrade CREATETABLE bit_defaults(
b1 bit(4) DEFAULT'1001',
b2 bit(4) DEFAULT B'0101',
b3 bit varying(5) DEFAULT'1001',
b4 bit varying(5) DEFAULT B'0101'
);
\d bit_defaults INSERTINTO bit_defaults DEFAULTVALUES; TABLE bit_defaults;
-- test non-error-throwing API for some core types SELECT pg_input_is_valid('01010001', 'bit(10)'); SELECT * FROM pg_input_error_info('01010001', 'bit(10)'); SELECT pg_input_is_valid('01010Z01', 'bit(8)'); SELECT * FROM pg_input_error_info('01010Z01', 'bit(8)'); SELECT pg_input_is_valid('x01010Z01', 'bit(32)'); SELECT * FROM pg_input_error_info('x01010Z01', 'bit(32)');
SELECT pg_input_is_valid('01010Z01', 'varbit'); SELECT * FROM pg_input_error_info('01010Z01', 'varbit'); SELECT pg_input_is_valid('x01010Z01', 'varbit'); SELECT * FROM pg_input_error_info('x01010Z01', 'varbit');
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-08-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.