Типът данни SMALLINT
и INT
са просто стандартни типове ANSI/ISO, които в Oracle са псевдоними за NUMBER(38)
и BIGINT
типът данни не съществува.
Ако искате да съхранявате 2-байтови, 4-байтови и 8-байтови стойности, можете да използвате комбинация от NUMBER
с подходящ размер колони и проверка на ограниченията, за да се гарантира, че данните са в изискваните граници:
CREATE TABLE table_name (
small NUMBER( 5,0) CHECK ( small BETWEEN -POWER(2,15) AND +POWER(2,15)-1 ),
medium NUMBER(10,0) CHECK ( medium BETWEEN -POWER(2,31) AND +POWER(2,31)-1 ),
big NUMBER(19,0) CHECK ( big BETWEEN -POWER(2,63) AND +POWER(2,63)-1 )
);
INSERT INTO table_name VALUES ( -POWER(2,15), -POWER(2,31), -POWER(2,63) );
INSERT INTO table_name VALUES ( POWER(2,15)-1, POWER(2,31)-1, POWER(2,63)-1 );
След това:
SELECT * FROM table_name
Изходи:
SMALL MEDIUM BIG
------ ----------- --------------------
-32768 -2147483648 -9223372036854775808
32767 2147483647 9223372036854775807