View a markdown version of this page

DIFFERENCE 関数 - Amazon Redshift

Amazon Redshift は、2026 年 6 月 30 日以降、Python UDF の使用をサポートしなくなります。これは段階的に実施されます。Python のサポート終了と移行オプションの詳細については、2025 年 6 月 30 日に公開されたブログ記事を参照してください。

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 | +------------+