Amazon Redshift は、2025 年 11 月 1 日以降、新しい Python UDF の作成をサポートしなくなります。Python UDF を使用する場合は、その日付より前に UDF を作成してください。既存の Python UDF は引き続き通常どおり機能します。詳細については、ブログ記事
DIFFERENCE 関数
DIFFERENCE 関数は 2 つの文字列の American Soundex コードを比較します。この関数は INTEGER を返し、Soundex コード間で一致する文字の数を示します。
Soundex コードは 4 文字の長さの文字列です。Soundex コードは、単語のスペルではなく発音方法を表します。例えば、Smith と Smyth は同じ Soundex コードを持ちます。
構文
DIFFERENCE(string1, string2)
引数
- string1
-
CHAR文字列、VARCHAR文字列、あるいはCHARまたはVARCHAR型に暗黙的に評価される式。 - string2
-
CHAR文字列、VARCHAR文字列、あるいはCHARまたはVARCHAR型に暗黙的に評価される式。
戻り型
- INTEGER
-
DIFFERENCE 関数は、American Soundex コードで 2 つの文字列内の一致する文字の数をカウントする
INTEGER値 0~4 を返します。Soundex コードは 4 文字であるため、文字列の American Soundex コード値の 4 文字すべてが同じ場合、DIFFERENCE 関数は4を返します。2 つの文字列のうちの 1 つが空の場合、DIFFERENCE は0を返します。この関数は、どちらの文字列にも有効な文字が含まれていない場合、1を返します。DIFFERENCE 関数は、a~z および A~Z を含む、英字のアルファベットで小文字または大文字の ASCII 文字のみを変換します。DIFFERENCE 関数は、他の文字を無視します。
例
文字列 % および @ の Soundex 値を比較するには、次の例を使用します。この関数は、どちらの文字列にも有効な文字が含まれていないため、1 を返します。
SELECT DIFFERENCE('%', '@');+------------+ | difference | +------------+ | 1 | +------------+
Amazon および空の文字列の Soundex 値を比較するには、次の例を使用します。2 つの文字列のうちの 1 つが空であるため、この関数は 0 を返します。
SELECT DIFFERENCE('Amazon', '');+------------+ | difference | +------------+ | 0 | +------------+
文字列 Amazon および Ama の Soundex 値を比較するには、次の例を使用します。文字列の Soundex 値の 2 文字が同じであるため、この関数は 2 を返します。
SELECT DIFFERENCE('Amazon', 'Ama');+------------+ | difference | +------------+ | 2 | +------------+
文字列 Amazon および +-*/%Amazon の Soundex 値を比較するには、次の例を使用します。文字列の Soundex 値の 4 文字すべてが同じであるため、この関数は 4 を返します。この関数は、2 番目の文字列の無効な文字 +-*/% を無視することに注目してください。
SELECT DIFFERENCE('Amazon', '+-*/%Amazon');+------------+ | difference | +------------+ | 4 | +------------+
文字列 AC/DC および Ay See Dee See の Soundex 値を比較するには、次の例を使用します。文字列の Soundex 値の 4 文字すべてが同じであるため、この関数は 4 を返します。
SELECT DIFFERENCE('AC/DC', 'Ay See Dee See');+------------+ | difference | +------------+ | 4 | +------------+