firebird
firebird copied to clipboard
CAST(something AS ARRAY datatype)
CREATE TABLE TEST_ARR1 (COL_I4 INTEGER[0:2]);
-- insert array [1,2,3] (through API)
INSERT INTO TEST_ARR1 (COL_I4) VALUES (?);
--- result is OK.
SELECT COL_I4 FROM TEST_ARR1;
-- Bad column type: VARCHAR instead ARRAY
-- FETCH returns incorrect data
SELECT CAST(COL_I4 AS VARCHAR(128)[0:2]) FROM TEST_ARR1;
-- Bad column type: INTEGER instead ARRAY
-- FETCH returns conversion error from string "#x01#x01#x01#x00#x04# ....."
SELECT CAST(COL_I4 AS INTEGER[0:2]) FROM TEST_ARR1;
-- Wrong parameter type: INTEGER
SELECT CAST(? AS INTEGER[0:2]) FROM TEST_ARR1;