ストリームデータ処理基盤 uCosminexus Stream Data Platform - Application Framework システム構築・運用ガイド
(1) 条件演算式の形式
条件演算式は,次の形式で記述します。
'('列名 比較演算子 定数')'[{AND | OR}'('列名 比較演算子 定数')'
{AND | OR}'('列名 比較演算子 定数')'…]
複数の比較演算を組み合わせる場合は,演算式をANDまたはORでつないで指定します。指定できる演算式の数は1〜10個です。
条件演算式に指定できる要素について説明します。
- 列名
- 比較演算対象の列名を指定します。列名はストリームの定義(register stream句)のスキーマ指定文字列で指定した列名を指定します。
- 比較演算子
- 条件の判定をするための演算子を指定します。指定できる比較演算子の種類およびその意味を次の表に示します。
比較演算子 |
比較演算子の使用例 |
使用例の意味 |
<= |
A <= B |
AはB以下 |
>= |
A >= B |
AはB以上 |
< |
A < B |
AはBより小さい |
> |
A > B |
AはBより大きい |
= |
A = B |
AはBと等しい |
!= |
A != B |
AはBと等しくない |
- 定数
- 比較演算を実施する対象の値を整定数または文字列定数で指定します。
- 整定数
比較演算を数値で実施する場合に指定します。数値として指定できる範囲は,-9223372036854775808〜9223372036854775807の整数になります。
- 文字列定数
比較演算を文字列で実施する場合に指定します。文字列を指定する場合はアポストロフィ(')で囲んで記述してください。文字列として指定できるのは半角文字,および全角文字です。指定できる文字数は,100文字以内です。
(2) 条件演算式の記述例
条件演算式の記述例を次に示します。
stream.filterCondition=(xxx='abc')AND(zzz>18)AND(zzz<60)
この例では,列名xxxがabcで,列名zzzが18より大きく60より小さいタプルだけを保留します。
(3) 条件演算式の注意事項
- 演算式内にANDとORを混在させることはできません。
- ANDとOR,および列名で,大文字,小文字の区別はされません。
- 列名に指定したデータ型が文字データ(CHAR,VARCHAR)の場合,比較演算子に「=」と「!=」以外は指定できません。
- 整定数を指定する場合,列名に指定できるデータ型はCQLで使用できる次のデータ型になります。
- INT
- SMALLINT
- TINYINT
- BIGINT
- DEC
- NUMERIC
- REAL
- FLOAT
- DOUBLE
CQLで使用できるデータ型については,マニュアル「uCosminexus Stream Data Platform - Application Framework アプリケーション開発ガイド」を参照してください。
- 整定数を使用する場合,列名に指定したデータ型と整定数に指定した数値の範囲はチェックされません。
- 文字列定数では,文字列をアポストロフィ(')で囲んで記述しますが,アポストロフィ(')を文字列として使用したい場合は,1個のアポストロフィを表すために2個のアポストロフィを記述してください。例えば,abc'abcと指定したい場合には,'abc''abc' と記述してください。
- 文字列定数に指定した文字列より大きい文字列が,該当の列に設定されていた場合は,先頭から指定した文字数までを演算の対象とします。例えば,文字列定数に指定した文字列が 'abc'(文字数が3)で,該当の列に設定されていた文字列が 'abcde' の場合,先頭からの 'abc' までが演算の対象となることから,文字列定数 'abc' と合致します。
- 文字列定数では,空文字(文字列を表す先頭と最終のアポストロフィ(')の間に何も指定しない)の指定はできません。条件式を囲む括弧,比較演算子,AND,およびORの前後には,空白またはタブを記述できますが,空白またはタブは無視されます。ただし,最後の演算式の閉じ括弧の後ろには,空白およびタブは記述できません。
- 文字列定数を指定する場合,列名に指定できるデータ型はCQLで使用できる次のデータ型になります。
CQLで使用できるデータ型については,マニュアル「uCosminexus Stream Data Platform - Application Framework アプリケーション開発ガイド」を参照してください。
All Rights Reserved. Copyright (C) 2010, 2014, Hitachi, Ltd.