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?

%MINUS

数値をキャノニック照合形式に変換してから符号を反転する照合関数です。

Synopsis

%MINUS(expression)

%MINUS expression

引数

expression 列名、数値や文字リテラル、算術式、または別の関数の結果となる式。基本となるデータ型は、任意の文字タイプとすることができます。

説明

%MINUS は、数値や数値文字列をキャノニック形式に変換してから符号を反転し、これらの expression 値を数値照合順に返します。

%MINUS が記号を反転することを除いて、%MINUS%PLUS は機能的に同一です。正の数値の場合、数値の先頭にマイナス符号が付加されます。負の数値の場合、数値にあるマイナス符号は削除されます。ゼロの場合、符号はありません。

数値には、先頭と末尾のゼロ、先頭にある複数のプラス符号とマイナス符号、1 つの小数点 (.)、および指数記号 (E) を指定できます。キャノニック形式で、すべての算術演算が実行され、指数が展開され、単体のマイナス符号が先頭に付くか符号なしになり、先頭と末尾のゼロが削除されます。

数値リテラルは、文字列を囲む区切り文字を付けて指定することも、付けないで指定することもできます。数値以外の文字が文字列にあると、%MINUS では、最初の数値以外の文字で数値を切り捨て、数値部分をキャノニック形式で返します。数値でない文字列 (数値以外の文字で始まる文字列) を 0 として返します。%MINUS はさらに、NULL を 0 として返します。

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

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

  WRITE $SYSTEM.Util.Collation("++007.500",4)

%MINUS%MVR と比べると、%MVR では文字列内の数値部分文字列に基づいて文字列をソートしている点が異なります。

以下の例では、%MINUS を使用して、数値の降順でホーム・ストリート番号を示すレコードを返します。

SELECT Name,Home_Street
FROM Sample.Person
ORDER BY %MINUS(Home_Street)

上記の例では、ストリート・アドレスの整数部分が数値順に配列されています。これを以下の ORDER BY DESC の例と比較してください。こちらでは、レコードは照合順のストリート・アドレスで配列されています。

SELECT Name,Home_Street
FROM Sample.Person
ORDER BY Home_Street DESC

関連項目

FeedbackOpens in a new tab