DIFFERENCE 関数 - Amazon Redshift

DIFFERENCE 関数

DIFFERENCE 関数は 2 つの文字列の American Soundex コードを比較します。この関数は INTEGER を返し、Soundex コード間で一致する文字の数を示します。

Soundex コードは 4 文字の長さの文字列です。Soundex コードは、単語のスペルではなく発音方法を表します。例えば、SmithSmyth は同じ 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 | +------------+