非推奨。アルファベット文字を、ALPHAUP 照合形式に変換するケース変換関数です。
Synopsis
%ALPHAUP(expression)
%ALPHAUP expression
%ALPHAUP はすべてのアルファベット文字を大文字 (つまり、ALPHAUP 形式) に変換し、空白をすべて削除し、コンマと疑問符以外の句読点文字をすべて削除します。
%SQLUPPER および
%STRING と異なり、
%ALPHAUP では、数値が文字列として解釈されることはありません。数値は削除されませんが、先頭と末尾のゼロ、空白、小数点文字、プラス記号とマイナス記号、およびその他の句読点は削除されます。したがって、アルファベット以外の文字を含む文字列の処理に、%ALPHAUP はお勧めできません。
%ALPHAUP は、Caché SQL の拡張機能であり、SQL 検索クエリ用として使用するものです。
以下のメソッド・コールを使用することで、Caché ObjectScript からこの関数を呼び出すこともできます。
以下のクエリでは、
%ALPHAUP を使用して Name フィールドを大文字に変換しています。これにより、包含関係演算子 ([) を使用して、文字 "Y" が存在するかどうかをテストできます。このクエリは、Sample.Person に文字 "Y" を含む名前をすべて返します。Y が大文字であるか小文字であるかは関係ありません。
SELECT Name FROM Sample.Person
WHERE %ALPHAUP(Name) [ 'Y'
SELECT Employees,Name,City,State
FROM Employees
WHERE (%ALPHAUP(Name) %STARTSWITH %ALPHAUP(:Name))
AND (City %STARTSWITH :City)
ORDER BY Name
このクエリは、検索情報変数 ":Name" に対する "Name" フィールド、および検索情報変数 ":City" に対する "City" フィールドの複合マッチを行うことで、"Employees" テーブルから行を取得します。どちらの場合も、部分的マッチング論理
%STARTSWITH を使用します。"Name" フィールドに対しては、ALPHAUP 文字変換を行います。キャプチャされたすべての行に対して、クエリは "Name"、"City"、"State" フィールドを表示します。また、"Employees"RowID フィールドも検索します。このフィールドは表示項目からは除外されますが、データベースから行を選択するために内部的に使用されます。
以下のギリシャ語の例にあるように、
%ALPHAUP は Unicode のアルファベット文字とともに使用できます。
SELECT %ALPHAUP({fn CHAR(952)})||
%ALPHAUP({fn CHAR(945)})||
%ALPHAUP({fn CHAR(955)})||
%ALPHAUP({fn CHAR(945)})||
%ALPHAUP({fn CHAR(963)})||
%ALPHAUP({fn CHAR(963)})||
%ALPHAUP({fn CHAR(945)})
FROM Sample.Person
以下の注意すべき例は、実際にはまったく異なる文字が、
%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')
FROM Sample.Person