Sommario: in questo tutorial, imparerai a conoscere il tipo di dati Oracle VARCHAR2
e come usarlo per definire colonne di stringhe di caratteri di lunghezza variabile.
Introduzione al tipo di dati Oracle VARCHAR2
Per memorizzare stringhe di caratteri di lunghezza variabile, usi il tipo di dati Oracle VARCHAR2
. Una colonna VARCHAR2
può memorizzare un valore che va da 1 a 4000 byte. Ciò significa che per un set di caratteri a byte singolo, puoi memorizzare fino a 4000 caratteri in una colonna VARCHAR2
.
Quando crei una tabella con una colonna VARCHAR2
, devi specificare la lunghezza massima della stringa, sia in byte:
o in caratteri
Di default, Oracle usa BYTE
se non specifichi esplicitamente BYTE
o CHAR
dopo max_size
. In altre parole, una colonna VARCHAR2(N)
può contenere fino a N
byte di caratteri.
Se si memorizza una stringa di caratteri la cui dimensione supera la dimensione massima della colonna VARCHAR2
, Oracle genera un errore.
Ad esempio, se si definisce una colonna VARCHAR2
con una dimensione massima è 20. In un set di caratteri a byte singolo, potete memorizzare fino a 20 caratteri. Se memorizzate 21 caratteri o più, Oracle restituisce un errore.
Inoltre, se memorizzate 10 caratteri in una colonna VARCHAR2(20)
, Oracle usa solo 10 byte per la memorizzazione, non 20 byte. Pertanto, l’utilizzo del tipo di dati VARCHAR2
aiuta a risparmiare gli spazi utilizzati dalla tabella.
Quando si confrontano i valori VARCHAR2
, Oracle utilizza la semantica di confronto non imbottita.
Oracle VARCHAR2 max length
Da Oracle Database 12c, è possibile specificare la dimensione massima di 32767 per il tipo di dati VARCHAR2
. Oracle usa il parametro MAX_STRING_SIZE
per controllare la dimensione massima. Se il MAX_STRING_SIZE
è STANDARD
, allora la dimensione massima per VARCHAR2
è 4000 byte. Nel caso in cui il MAX_STRING_SIZE
sia EXTENDED
, il limite di dimensione per VARCHAR2
è 32767.
Per ottenere il valore del parametro MAX_STRING_SIZE
, usate la seguente query:
Oppure usate la seguente dichiarazione:
Esempi di Oracle VARCHAR2
La seguente dichiarazione crea una nuova tabella chiamata econtacts
per memorizzare i contatti di emergenza dei dipendenti.
La tabella econtacts
ha tre colonne VARCHAR2
: first_name
, last_name
e phone
.
La seguente istruzione inserisce una nuova riga nella tabella econtacts
:
Ha funzionato come previsto perché i dati di input non superano la dimensione massima della colonna VARCHAR2
.
Tuttavia, la seguente istruzione non riesce a inserire:
Perché il nome in ingresso supera la lunghezza massima della colonna first_name
, Oracle ha emesso il seguente errore:
In questo tutorial, hai imparato a conoscere Oracle VARCHAR2
e come usare il tipo di dati VARCHAR2
per definire colonne di stringhe di caratteri di lunghezza variabile in una tabella.
- Questo tutorial è stato utile?
- SìNo