Tipi di dati binari
Performance Server supporta due tipi di dati binari da utilizzare nelle tabelle e nelle tabelle esterne.
Tipo | Valore |
---|---|
VARBINARIO(n) | Campo di lunghezza variabile da 1 a 64.000 byte. Usare il tipo VARBINARY per memorizzare dati binari in un campo specifico del tipo e applicare restrizioni o altre elaborazioni alle colonne, se necessario. |
ST_GEOMETRIA(n) | Campo di lunghezza variabile da 1 a 64.000 byte. Il tipo di dati ST_GEOMETRY contiene informazioni geometriche binarie. Il tipo ST_ GEOMETRY è utile per memorizzare i dati geometrici elaborati dalle funzioni di analisi spaziale e da altre analisi geometriche per identificare le colonne con dati binari orientati alla geometria. |
Sebbene sia possibile memorizzare dati binari in una colonna VARCHAR, è difficile distinguere tra dati VARCHAR e dati binari nel database e per l'elaborazione e le restrizioni.
Le colonne che utilizzano i tipi di dati binari non supportano alcune delle comuni operazioni di elaborazione delle query. Ad esempio, le colonne di tipo binario non possono essere utilizzate per i confronti di ordinamento, raggruppamento o grandezza, né per gli aggregati come sum(), avg(), distinct() o per i confronti min/max/mediana. I dati binari non possono essere lanciati implicitamente o esplicitamente in altri tipi.
È possibile inserire i dati per gli oggetti binari utilizzando strumenti quali le funzioni definite dall'utente (UDF) che creano i dati binari, oppure specificare il contenuto utilizzando la notazione letterale delle stringhe esadecimali. La rappresentazione letterale della stringa esadecimale ha il seguente formato:
x'hexValue'
Un letterale di stringa esadecimale valido deve iniziare con la lettera x in maiuscolo o in minuscolo, seguita da una stringa di caratteri esadecimali a virgola singola. Ogni carattere esadecimale è formato da una coppia di due caratteri tra i numeri da 0 a 9 e le lettere da A a F (maiuscole o minuscole). Ad esempio, la stringa "hello" appare come x68656c6c6f' in formato esadecimale. Segue un esempio di istruzione INSERT con un letterale di stringa esadecimale:
insert into my_table values (1, x'68656c6c6f');
Se non si specifica il prefisso x, se si racchiude la stringa tra virgolette singole o se la stringa contiene un numero dispari di caratteri, il letterale di stringa esadecimale non è valido e il sistema restituisce un errore.