Skip to main content

 

OutSystemsの用語

 

OutSystems

演算子

OutSystemsでは以下の演算子を使用できます。

数値

+, -, *, /

単項マイナス

数値オペランドの否定を一時停止します。

以下は単項マイナス(-)演算子で許可されているデータ型です。

-(単項マイナス) Text Long Integer Integer Decimal Boolean Date Time Date Time
No Yes Yes Yes No No No No

算術演算子 /, -, *

共通演算オペレーションを実行します。

以下は算術演算子/、-、*で許可されているデータ型です。

/, *, - Text Long Integer Integer Decimal Boolean Date Time Date Time
Text No No No No No No No No
Long Integer No Yes(a) Yes(a) Yes(a) No No No No
Integer No Yes(a) Yes(a) Yes(a) No No No No
Decimal No Yes(a) Yes(a) Yes No No No No
Boolean No No No No No No No No
DateTime No No No No No No No No
Date No No No No No No No No
Time No No No No No No No No

(a) 除算演算の結果は常にDecimal型として型変換されます。

算術演算子+

和演算の実行。オペランドの1つがText型の場合、他のオペランドはText型に変換され連結オペレーションを実行します。

以下は算術演算子+で許可されているデータ型です。

+ Text Long Integer Integer Decimal Boolean DateTime Date Time
Text Yes Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) Yes(a)
Long Integer Yes(a) Yes Yes Yes No No No No
Integer Yes(a) Yes Yes Yes No No No No
Decimal Yes(a) Yes Yes Yes No No No No
Boolean Yes(a) No No No No No No No
DateTime Yes(a) No No No No No No No
Date Yes(a) No No No No No No No
Time Yes(a) No No No No No No No

(a) テキスト以外の部分はText型に変換され、連結されます。

論理とBoolean型

and、or、not、=、<、>、<>、<=、>=

AND

論理ANDオペレーションを実行します。Boolean型オペランドのみを許可します。

OR

論理ORオペレーションを実行します。Boolean型オペランドのみを許可します。

単項NOT

論理NOTオペレーションを実行します。Boolean型オペランドのみを許可します。

比較演算子 <、>、<=、>=

共通比較オペレーション。オペランドの1つがText型の場合、他のオペランドはText型に変換され文字列比較オペレーションを実行します。

以下は比較演算子で許可されているデータ型です。

<>、<=、>= Text Integer Long Integer Decimal Boolean Date Time Date Time Email Phone Number Currency Binary Data
Text Yes Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) No No
Integer Yes(a) Yes Yes Yes No No No No No No Yes(c) No
Long Integer Yes(a) Yes Yes Yes No No No No No No Yes(c) No
Decimal Yes(a) Yes Yes Yes No No No No No No Yes(c) No
Boolean Yes(a) No No No No No No No No No No No
Date Time Yes(a) No No No No Yes No No No No No No
Date Yes(a) No No No No No Yes No No No No No
Time Yes(a) No No No No No No Yes No No No No
Email Yes(a) No No No No No No No Yes Yes(b) No No
Phone Number Yes(a) No No No No No No No Yes(b) Yes No No
Currency No Yes Yes Yes No No No No No No Yes No
Binary Data No No No No No No No No No No No No

(a) テキスト以外の部分はText型に変換され、両方のテキストの長さが比較されます。

(b) 両方の変数はText型に変換され、長さが比較されます。

(c) Currency型オペランドはIntegerデータ型に変換され、比較されます。

等値演算子 =、<>

等値演算子を実行します。オペランドの1つがText型の場合、他のオペランドはText型に変換され文字列比較オペレーションを実行します。

以下は等値演算子で許可されているデータ型です。

=、<> Text Integer Long Integer Decimal Boolean Date Time Date Time Email Phone Number Currency Binary Data Entity / Structure / Record Integer Identifier Text Identifier
Text Yes Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) Yes(a) No No No No
Integer Yes(a) Yes Yes Yes No No No No Yes* Yes* Yes* No No No No
Long Integer Yes(a) Yes Yes Yes No No No No Yes* Yes* Yes* No No No No
Decimal Yes(a) Yes Yes Yes No No No No Yes* Yes* Yes* No No No No
Boolean Yes(a) No No No Yes No No No No No No No No No No
Date Time Yes(a) No No No No Yes Yes* Yes* Yes* Yes* No No No No No
Date Yes(a) No No No No Yes* Yes No Yes* Yes* No No No No No
Time Yes(a) No No No No Yes* No Yes Yes* Yes* No No No No No
Email Yes(a) Yes* Yes* Yes* No Yes* Yes* Yes* Yes Yes* No No No No No
Phone Number Yes(a) Yes* Yes* Yes* No Yes* Yes* Yes* Yes* Yes Yes* No No No No
Currency Yes(a) Yes* Yes* Yes* No No No No No Yes* Yes No No No No
Binary Data No No No No No No No No No No No No No No No
Entity / Structure / Record No No No No No No No No No No No No Yes(b) No No
Integer Identifier No No No No No No No No No No No No No Yes(c) No
Text Identifier No No No No No No No No No No No No No No Yes(c)

(a) テキスト以外の部分はText型に変換され、比較されます。

(b) 両方のオペランドが同じ型の場合のみに可能で、その場合アトリビュートの値を比較します。

(c) 異なるエンティティの識別子は比較されますが、警告が発行されます。

*異なる型間の等値:

オペランドの型1 オペランドの型2 結果
Date Date Time Timeコンポーネントをドロップし、Date Timeオペランド型をDate型に変換します。
Date Time Date Timeコンポーネント(#00:00:00#)を追加し、Dateオペランド型をDate Time型に変換します。
TimeまたはDate Time TimeまたはDate Time Dateコンポーネント(#01-01-1900#)を追加し、Timeオペランド型をDate Time型に変換します。
Currency Integer、Long Integer、またはDecimal Currency型変数をIntegerデータ型に変換します。
EmailまたはPhone Number Integer、Long Integer、またはDecimal Decimal型、Long Integer型、またはIntegerオペランド型をText型に変換します。
Email Phone Number 両方のオペランドをText型に変換します。
Date Time、Date、またはTime EmailまたはPhone Number 両方のオペランドをText型に変換します。
Currency Phone Number 両方のオペランドをText型に変換します。

Like

この演算子はAggregateのフィルタ条件エディタ内でのみ有効で、結果を比較できるようにします。SQL内のLIKEキーワードと同じセマンティックを有しています。LIKE演算子を使用して、式と比較できます。LIKEの利点は、1つ以上の文字を表示するワイルドカード文字「%」を使用できるようにすることです。

たとえば、「James」を名前のどこかに含むすべてのお客様に識別子を選択する場合、以下のフィルタ条件でこの情報を取得できます。

name LIKE '%James%'

以下はLIKE演算子で許可されているデータ型です。

LIKE Text Integer Decimal Boolean DateTime Date Time
Text Yes (a) (a) (a) (a) (a) (a)
Integer (a) No No No No No No
Decimal (a) No No No No No No
Boolean (a) No No No No No No
DateTime (a) No No No No No No
Date (a) No No No No No No
Time (a) No No No No No No

(a) テキスト以外の部分はText型に変換され、比較されます。

インデクサ宣言

この演算子はリスト内の特定の要素にアクセスするために使用されます。OutSystemsでは、インデックス(位置)はゼロから開始します。最初のレコードにアクセスするには以下のように式を入力します。

MyRecordList[0]

存在しないインデックスにアクセスした場合は、以下の実行時エラーが発生します。"Index n is out of range"

レコードは一連のエンティティやストラクチャであるため、特定されたレコードの特定のエンティティまたはストラクチャにアクセスできます。

MyRecordList[0].<entity name | structure name>

式が整数値を返す場合、インデクサ演算子内の式を使用できます。これにはユーザー関数の使用が含まれます。

MyRecordList[i-1].Customer.Name (ここではiはIntegerです)

MyRecordList[EmployeeOfMonth()].Employee.Name(ここではEmployeeOfMonthはInteger値を返すユーザー関数です)

演算子の優先順位

次のテーブルは、演算子の優先順位を優先順位の高いものから示しています。

演算子 説明
- 数値否定
NOT 論理否定
/、* 乗法演算子
-、+ 加法演算子。
<、>、<=、>= 関係演算子
=、<> 等値演算子
LIKE 類似演算子
AND 論理AND
OR 論理OR
  • Was this article helpful?