COLLATE 関数 - Amazon Redshift

COLLATE 関数

COLLATE 関数は、文字列の列または表現に関する照合をオーバーライドします。

データベースの照合を使用してテーブルを作成する方法については、「CREATE TABLE」を参照してください。

データベース照合を使用してデータベースを作成する方法については、「CREATE DATABASE」を参照してください。

構文

COLLATE(string, 'case_sensitive' | 'case_insensitive');

引数

文字列

COLLATE 関数は、2 つの入力引数を取ります。最初の入力は、上書きする先の文字列または表現です。2 番目の入力は、照合名を示す文字列定数です。Amazon Redshift では、case_sensitive もしくは case_insensitive のみがサポートされます。

戻り型

COLLATE 関数は、最初の表現タイプに応じて VARCHAR または CHAR を返します。この関数は、最初の入力引数についての照合を変更するだけで、出力値は変更されません。

次の例では、テーブル T の col1 を case_sensitive として定義しています。最初のクエリを実行すると、Amazon Redshift は「john」行 1 つだけを返します。col1 上で照合関数が実行された後、照合は case_insensitive に変わります。2番目のクエリでは、「john」と「JOHN」の両方が返されます。

CREATE TABLE T ( col1 Varchar(20) COLLATE case_sensitive );
INSERT INTO T VALUES ('john'),('JOHN');
SELECT * FROM T WHERE col1 = 'john'; col1 ------ john (1 rows)
SELECT * FROM T WHERE collate(col1, 'case_insensitive') = 'john'; col1 ------ john JOHN (2 rows)