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à.
COLLATEfunzione
La COLLATE funzione sovrascrive le regole di confronto di una colonna o di un'espressione di stringhe.
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 COLLATE funzione restituisce VARCHAR
o CHAR
dipende dal 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 l'esecuzione della COLLATE funzione su col1, la collazione 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 l'esecuzione della COLLATE funzione su col1, la collazione 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 | +------+