Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Funzione COLLATE
La funzione COLLATE sovrascrive il confronto di una colonna o di un'espressione stringa.
Per informazioni su come creare le tabelle mediante il confronto di database, consultare CREATE TABLE.
Per informazioni su come creare i database mediante il confronto di database, consultare CREATE DATABASE.
Sintassi
COLLATE(string, 'case_sensitive' | 'cs' | 'case_insensitive' | 'ci');
Arguments (Argomenti)
- stringa
-
Una colonna o un'espressione di stringa che desideri sovrascrivere.
- 'case_sensitive' | 'cs' | 'case_insensitive' | 'ci'
-
Una costante di stringa di un nome di confronto. Amazon Redshift supporta solo i valori seguenti per questo parametro:
case_sensitive
cs
case_insensitive
ci
case_sensitive e cs sono intercambiabili e producono gli stessi risultati. Allo stesso modo case_insensitive e ci sono intercambiabili e producono gli stessi risultati.
Tipo restituito
La funzione COLLATE restituisce VARCHAR, CHAR o SUPER a seconda del primo tipo di espressione di input. Questa funzione modifica il confronto solo del primo argomento di input e non ne modifica il valore di output.
Esempi
Per creare la tabella T e definire col1 nella tabella T come case_sensitive, utilizza il seguente esempio.
CREATE TABLE T ( col1 Varchar(20) COLLATE case_sensitive ); INSERT INTO T VALUES ('john'),('JOHN');
Quando esegui la prima query, Amazon Redshift restituisce solo john. Dopo che la funzione COLLATE viene eseguita su col1, il confronto diventa case_insensitive. La seconda query restituisce sia john che JOHN.
SELECT * FROM T WHERE col1 = 'john';+------+ | col1 | +------+ | john | +------+SELECT * FROM T WHERE COLLATE(col1, 'case_insensitive') = 'john';+------+ | col1 | +------+ | john | | JOHN | +------+
Per creare la tabella A e definire col1 nella tabella A come case_insensitive, utilizza il seguente esempio.
CREATE TABLE A ( col1 Varchar(20) COLLATE case_insensitive ); INSERT INTO A VALUES ('john'),('JOHN');
Quando esegui la prima query, Amazon Redshift restituisce sia john che JOHN. Dopo che la funzione COLLATE viene eseguita su col1, il confronto diventa case_sensitive. La seconda query restituisce solo john.
SELECT * FROM A WHERE col1 = 'john';+------+ | col1 | +------+ | john | | JOHN | +------+SELECT * FROM A WHERE COLLATE(col1, 'case_sensitive') = 'john';+------+ | col1 | +------+ | john | +------+