Tipi di dati di stringhe di caratteri

Le stringhe di caratteri sono i tipi di dati più comunemente utilizzati. Possono contenere qualsiasi sequenza di lettere, cifre, punteggiatura e altri caratteri validi.

Le stringhe di caratteri tipiche sono nomi, descrizioni e indirizzi postali. Sebbene sia possibile memorizzare qualsiasi valore in una stringa di caratteri, utilizzare le stringhe di caratteri solo se altri tipi di dati non sono adatti. Altri tipi di dati offrono una migliore convalida dei dati e una memorizzazione più compatta.

La tabella seguente descrive i tipi di dati delle stringhe di caratteri.
Tabella 1. Tipi di dati di stringhe di caratteri
Tipo Valore Utilizzo disco
Lunghezza fissa, carattere(n) (alias char(n)) Lunghezza fissa, vuoto imbottito alla lunghezza n. Il valore predefinito di n è 1. La dimensione massima delle stringhe di caratteri è 64.000. Se n è uguale o inferiore a 16 (n byte). Se n è maggiore di 16, l'utilizzo del disco è uguale a quello di varchar(n).
Lunghezza variabile, carattere variabile(n) (alias varchar(n)) Lunghezza della variabile fino a una lunghezza massima di n. Nessun riempimento vuoto, memorizzato come inserito. La dimensione massima delle stringhe di caratteri è 64.000. N+2 o meno byte, a seconda dei dati effettivi.
Lunghezza fissa, Unicode (alias nchar(n)) Lunghezza fissa, vuoto imbottito alla lunghezza n. La lunghezza massima è di 16.000 caratteri. Per ulteriori informazioni, vedere I tipi di dati.
Lunghezza variabile, Unicode (alias nvarchar(n)) Lunghezza della variabile fino a una lunghezza massima di n. La lunghezza massima è di 16.000 caratteri. Per ulteriori informazioni, vedere I tipi di dati.
Per determinare il tipo di dati ottimale per i caratteri, digitate il seguente comando SQL:
system.admin(admin)=> SELECT 
MAX(LENGTH(TRIM(column_name))),AVG(LENGTH(TRIM(column_name)))FROM 
table_name;
Quando si seleziona un tipo di dati di carattere, considerare le seguenti situazioni:
  • Se i dati sono esclusivamente numerici, utilizzare un tipo di dati intero invece di un tipo di dati carattere. Ad esempio, 11212345 può essere definito come VARCHAR o bigint. Selezionare un bigint, soprattutto se si utilizza la colonna per la distribuzione o le giunzioni.
  • Se, durante la conversione della data di origine, la lunghezza MAX è inferiore alla dimensione CHAR, utilizzare un CHAR anziché un VARCHAR. Se la lunghezza AVG +2 è inferiore alla dimensione CHAR, utilizzare un VARCHAR invece di un CHAR.
  • Il confronto tra numeri e tipi di dati stringa può talvolta produrre risultati imprevedibili. Utilizzare la funzione di conversione to_number per convertire la stringa in un numero. Ad esempio:
       where to_number(<varchar-column>, '9999') > <integercolumn>