Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

%ALPHAUP

非推奨。アルファベット文字を ALPHAUP 照合形式に変換する照合関数です。

Synopsis

%ALPHAUP(expression) 
%ALPHAUP expression

引数

expression 列名、文字リテラル、または他の関数の結果を指定できる文字列式。基本となるデータ型は、任意の文字タイプ (CHAR や VARCHAR2 など) とすることができます。

概要

この照合関数はお勧めしません。新しく開発された、"%SQLUPPER" を参照してください。%SQLUPPER は、アルファベット以外の文字の処理に優れています。

%ALPHAUP は、expression を ALPHAUP 形式に変換します。

  • すべての文字を大文字に変換します。

  • 句読点文字は、コンマと疑問符以外すべて削除します (%STRING は、コンマ以外のすべての句読点文字を削除します)。

  • すべての空白 (先頭、末尾、埋め込み) を削除します。

%SQLUPPER および %STRING と異なり、%ALPHAUP では、数値が文字列として解釈されることはありません。SQL では、数値を関数に渡す前に、先頭と末尾にあるゼロを削除し、指数を展開したりすることにより、キャノニック形式に変換します (数値文字列はキャノニック形式に変換されません)。次に、%ALPHAUP がピリオド (多くのロケールで小数点区切り文字として使用) やマイナス記号をはじめとする句読点文字と空白を削除します。このため、%ALPHAUP をアルファベット以外の文字を含む式で使用するには注意が必要です。

%ALPHAUP は、Caché SQL の拡張機能であり、SQL 検索クエリ用として使用するものです。

%SYSTEM.UtilOpens in a new tab クラスの Collation()Opens in a new tab メソッドを使用すると、ObjectScript で同じ照合変換を実行できます。

  WRITE $SYSTEM.Util.Collation("The quick, BROWN fox.",6)

この関数は、ObjectScript から ALPHAUP()Opens in a new tab メソッド呼び出しを使用して呼び出すこともできます。

  WRITE $SYSTEM.SQL.ALPHAUP("The quick, BROWN fox.")

英数字の照合順序

大小文字変換関数は、以下のような異なるアルゴリズムを使用して数字で始まるデータ値を照合します。

%ALPHAUP および %STRING %SQLUPPER%SQLSTRING、およびその他の大小文字変換関数
5988 Clinton Avenue, 6023 Washington Court, 6090 Elm Court, 6185 Clinton Drive, 6209 Clinton Street, 6284 Oak Drive, 6310 Franklin Street, 6406 Maple Place, 641 First Place, 6572 First Avenue, 6643 First Street, 665 Ash Drive, 66 Main Street, 672 Main Court, 6754 Oak Court, 6986 Madison Blvd, 6 Oak Avenue, 7000 Ash Court, 709 Oak Avenue 5988 Clinton Avenue, 6 Oak Avenue, 6023 Washington Court, 6090 Elm Court, 6185 Clinton Drive, 6209 Clinton Street, 6284 Oak Drive, 6310 Franklin Street, 6406 Maple Place, 641 First Place, 6572 First Avenue, 66 Main Street, 6643 First Street, 665 Ash Drive, 672 Main Court, 6754 Oak Court, 6986 Madison Blvd, 7000 Ash Court, 709 Oak Avenue

以下の例は、%ALPHAUP を使用して Name フィールドを大文字に変換します。これにより、包含関係演算子 ([) を使用して、文字 "Y" が存在するかどうかをテストできます。このクエリは、Sample.Person に文字 "Y" を含む名前をすべて返します。Y が大文字であるか小文字であるかは関係ありません。

SELECT Name FROM Sample.Person
WHERE %ALPHAUP(Name) [ 'Y'

以下の埋め込み SQL の例は、%ALPHAUP を Unicode のアルファベット文字 (ここではギリシャ文字) と共に使用する方法を示します。

  IF $SYSTEM.Version.IsUnicode() {
  SET greek=$CHAR(952,945,955,945,963,963,945)
  WRITE !,"lowercase Greek: ",greek
  &sql(SELECT %ALPHAUP(:greek)
       INTO :capgreek
       FROM Sample.Person)
  WRITE !,"uppercase Greek: ",capgreek
  }
  ELSE {WRITE "This example requires a Unicode installation of Caché"}

(上の例は、Caché の Unicode インストールが必要です。)

以下の注意すべき例は、実際にはまったく異なる文字が、%ALPHAUP では同一の文字列として扱われる可能性があることを示しています。

SELECT %ALPHAUP('Max Wells'),%ALPHAUP('Maxwell S.'),
   %ALPHAUP('Release 3.2'),%ALPHAUP('Re: Lease 32'),
   %ALPHAUP('12/2/04'),%ALPHAUP('1/22/04'),
   %ALPHAUP('-36.5 degrees'),%ALPHAUP('365 Degrees')

関連項目

%SQLUPPER

"Caché SQL の使用法" の "照合" の章

FeedbackOpens in a new tab