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?

%MVR

MultiValue 照合シーケンス関数です。

Synopsis

%MVR(expression)

引数

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

概要

%MVR は、Caché SQL 拡張機能であり、MultiValue データの互換性を保持するために使用されます。

%MVR は、MultiValue 照合シーケンスに変換された expression を返します。これは、文字列に数値文字と非数値文字の両方が含まれる場合に使用されます。%MVR では expression 文字列を部分文字列に分割します。各部分文字列には、すべての数値文字またはすべての非数値文字のいずれかが含まれます。数値部分文字列は、符号付き数値順に並べ替えられます。非数値部分文字列は、大文字と小文字が区別される ASCII 照合順に並べ替えられます。

expression がすべて数値の場合、返り値は数値の照合と同じになります。expression がすべて非数値の場合、返り値は %SPACE 照合と同じになります。

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

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

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

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

%MVR 照合は、%SYSTEM.UtilOpens in a new tab クラスの RevCollation()Opens in a new tab メソッドを使用して逆の順序にすることができます。

以下の例では、数値コンポーネントを含む文字列の処理における %MVR 照合と既定の文字列照合の違いを示しています。最初の例では、文字列シーケンス内の値の順序が、1027 の後に 107 になります。2 番目の例では、%MVR シーケンス内の値の順序が、107 の後に 1027 になります。

SELECT TOP 20 Name,Home_Street
FROM Sample.Person
ORDER BY Home_Street
SELECT TOP 20 Name,Home_Street
FROM Sample.Person
ORDER BY %MVR(Home_Street)

関連項目

FeedbackOpens in a new tab