メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

BPCHARCMP 関数

2 つの文字列の値を比較し、整数を返します。文字列が同一である場合は、0 を返します。アルファベットを比較して最初の文字列の方が「大きい」場合は、1 を返します。2 番目の文字列の方が「大きい」場合は、-1 を返します。

マルチバイトの文字の場合は、バイトエンコーディングを基に比較が行われます。

BTTEXT_PATTERN_CMP 関数 のシノニム。

構文

Copy
BPCHARCMP(string1, string2)

引数

string1

最初の入力パラメーターは、CHAR 型または VARCHAR 型の文字列です。

string2

2 番目のパラメーターは、CHAR 型または VARCHAR 型の文字列です。

戻り型

BPCHARCMP 関数は整数を返します。

次の例では、USERS 内の最初の 10 個の項目について、ユーザーの名と姓をアルファベットで比較したときに、名が姓より大きいかどうかを判別します。

Copy
select userid, firstname, lastname, bpcharcmp(firstname, lastname) from users order by 1, 2, 3, 4 limit 10;

次の例は、以下のサンプル出力を返します。

Copy
userid | firstname | lastname | bpcharcmp --------+-----------+-----------+----------- 1 | Rafael | Taylor | -1 2 | Vladimir | Humphrey | 1 3 | Lars | Ratliff | -1 4 | Barry | Roy | -1 5 | Reagan | Hodge | 1 6 | Victor | Hernandez | 1 7 | Tamekah | Juarez | 1 8 | Colton | Roy | -1 9 | Mufutau | Watkins | -1 10 | Naida | Calderon | 1 (10 rows)

FIRSTNAME の文字列が LASTNAME の文字列よりアルファベット順で後にある項目については、BPCHARCMP が 1 を返すことを確認できます。LASTNAME が FIRSTNAME よりアルファベット順で後にある場合は、BPCHARCMP が -1 を返します。

次の例は、USER テーブル内で FIRSTNAME が LASTNAME と同一である項目をすべて返します。

Copy
select userid, firstname, lastname, bpcharcmp(firstname, lastname) from users where bpcharcmp(firstname, lastname)=0 order by 1, 2, 3, 4; userid | firstname | lastname | bpcharcmp -------+-----------+----------+----------- 62 | Chase | Chase | 0 4008 | Whitney | Whitney | 0 12516 | Graham | Graham | 0 13570 | Harper | Harper | 0 16712 | Cooper | Cooper | 0 18359 | Chase | Chase | 0 27530 | Bradley | Bradley | 0 31204 | Harding | Harding | 0 (8 rows)

このページの内容: