Amazon Redshift non supporterà più la creazione di nuovi Python a UDFs partire dal 1° novembre 2025. Se vuoi usare Python UDFs, crea la UDFs data precedente a quella data. Python esistente UDFs continuerà a funzionare normalmente. 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');
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 seguenti valori per questo parametro:
case_sensitive
cs
insensibile alle maiuscole
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
o CHAR
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 | +------+