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à.
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' | 'case_insensitive');
Argomenti
- stringa
-
Una colonna o un'espressione di stringa che desideri sovrascrivere.
- 'case_sensitive' | 'case_insensitive'
-
Una costante di stringa di un nome di confronto. Amazon Redshift supporta solo case_sensitive o case_insensitive.
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 |
+------+