Gli Oracle Built-in Data Types sono raggruppati in 7 categorie:
- Character Data Type;
- Numeric Data Type;
- LONG Data Type;
- Datatetime e Interval Data Type;
- RAW e LONG RAW Data Type;
- Large Object (LOB) Data Type;
- Extended Data Type
La blank-padded comparison semantics è un processo che si innesca al momento di un confronto tra valori che hanno differenti lunghezze. Oracle aggiunge spazi vuoti alla fine di quella più corta in modo tale da appianare la differenza di lunghezza. Poi avviene un confronto carattere per carattere e alla prima differenza il processo si ferma dichiarando che le due stringhe non sono uguali.
LONG Data Type
Non creare tabelle con colonne LONG. Utilizzare invece colonne LOB (CLOB, NCLOB, BLOB). Le colonne LONG sono supportate solo per la compatibilità con le versioni precedenti.
Numeric Date Type
I tipi di dati numerici di Oracle Database memorizzano numeri fissi e mobili positivi e negativi, zero, infinito e valori che sono il risultato non definito di un'operazione, "non un numero" o NAN.
Datatime e Interval Data Type
Il Date data type serve per memorizzare date e quantità di tempo in una tabella.
I database Oracle possono memorizzare le date in formato Giuliano con un intervallo che parte da I tipi di dati datetime sono DATA, TIMESTAMP, TIMESTAMP CON FUSO ORARIO e TIMESTAMP CON FUSO ORARIO LOCALE. I valori dei tipi di dati datetime sono talvolta chiamati datetimes. I tipi di dati dell'intervallo sono INTERVAL ANNO AL MESE e INTERVAL GIORNO AL SECONDO.
RAW & LONG RAW Date Type
I tipi di dati RAW e LONG RAW memorizzano i dati che non devono essere convertiti in modo esplicito da Oracle Database quando questi vengono spostati tra sistemi diversi. Questi tipi di dati sono destinati a dati binari o stringhe di byte. Ad esempio, puoi utilizzare LONG RAW per archiviare grafica, suoni, documenti o array di dati binari, per i quali l'interpretazione dipende dall'uso.
Oracle consiglia vivamente di convertire le colonne LONG RAW in colonne LOB binarie (BLOB). Le colonne LOB sono soggette a molte meno restrizioni rispetto alle colonne LONG. RAW è un tipo di dati a lunghezza variabile come VARCHAR2, tranne per il fatto che Oracle Net (che collega il software client a un database o un database a un altro) e le utility di export e import non eseguono la conversione dei caratteri durante la trasmissione di dati RAW o LONG RAW (diversamente da quanto accade per dati di tipo CHAR, VARCHAR2 e LONG in caso di characters set differenti tra sorgente e destinazione).
LARGE OBJECT (LOB) Date Type
I tipi di dati LOB integrati BLOB, CLOB e NCLOB (memorizzati internamente) e BFILE (memorizzati esternamente) possono archiviare dati di grandi dimensioni e non strutturati come testo, immagine, video e dati spaziali. La dimensione dei dati BLOB, CLOB e NCLOB può arrivare fino a (232-1 byte) * (il valore del parametro CHUNK della memoria LOB). Se i tablespace nel database hanno una dimensione del blocco standard e se è stato utilizzato il valore predefinito del parametro CHUNK dell'archiviazione LOB durante la creazione di una colonna LOB, questo equivale a (232-1 byte) * (dimensione del blocco del database). I dati BFILE possono contenere fino a 264-1 byte, sebbene il sistema operativo possa imporre restrizioni su questo massimo. Quando si crea una tabella, è possibile specificare facoltativamente spazio tabella e caratteristiche di archiviazione per le colonne LOB o gli attributi degli oggetti LOB da quelli specificati per la tabella.
EXTENDED Data Types
A partire da Oracle Database 12c, è possibile specificare una dimensione massima di 32767 byte per i data types VARCHAR2, NVARCHAR2 e RAW. E’ possibile verificare se il database supporta questa nuova dimensione massima impostando il parametro di inizializzazione MAX_STRING_SIZE come segue:
- se MAX_STRING_SIZE = STANDARD, si applicano i limiti di dimensione per le versioni precedenti a Oracle Database 12c: 4000 byte per i tipi di dati VARCHAR2 e NVARCHAR2 e 2000 byte per il tipo di dati RAW. Questa è l'impostazione predefinita.
- se MAX_STRING_SIZE = EXTENDED, il limite di dimensione è 32767 byte per i tipi di dati VARCHAR2, NVARCHAR2 e RAW.
Fonte notizia
www.datamaze.it blogs post back-to-basics-i-tipi-di-dati-in-oracle