Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Znajdź podtyp liczbowy (smallint, int itp.) w Oracle

Typ danych SMALLINT i INT to tylko standardowe typy ANSI/ISO, które w Oracle są aliasami dla NUMBER(38) i BIGINT typ danych nie istnieje.

Jeśli chcesz przechowywać wartości 2-bajtowe, 4-bajtowe i 8-bajtowe, możesz użyć kombinacji odpowiedniej wielkości NUMBER kolumny i sprawdzanie ograniczeń, aby upewnić się, że dane mieszczą się w wymaganych granicach:

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 );

Następnie:

SELECT * FROM table_name

Wyjścia:

SMALL  MEDIUM      BIG
------ ----------- --------------------
-32768 -2147483648 -9223372036854775808
 32767  2147483647  9223372036854775807



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przechowywać identyfikator GUID w Oracle?

  2. TO_CHAR(data/godzina) Funkcja w Oracle

  3. Znajdowanie brakujących dat w sekwencji

  4. Najlepszy sposób na skrócenie ciągu UTF8 na podstawie długości bajtów

  5. Zapytanie Oracle Pivot daje kolumny z cudzysłowami wokół nazw kolumn. Co?