ストリームデータ処理基盤 uCosminexus Stream Data Platform - Application Framework アプリケーション開発ガイド
値式::=〔符号〕項〔演算子〔符号〕項〕…
項::=〔キャスト指定〕値式一次子
演算子::={+|-|*|/}
符号::={+|-}
キャスト指定::={'('TINYINT')'|'('SMALLINT')'|'('INT〔EGER〕')'
|'('BIGINT')'|'('REAL')'|'('FLOAT')'|'('DOUBLE')'
|'('DEC〔IMAL〕')'}
値式一次子::={<列指定>|<列名>|<定数>|<スカラ関数>|'('<値式>')'}
値を指定します。
「+」または「-」を指定します。
キャスト指定,および値式一次子を指定します。
キャスト指定に指定するデータ型については,「3.3 CQLのデータ型」を参照してください。
列指定,列名,定数,スカラ関数,または値式を指定します。
「+」,「-」,「*」,または「/」を指定します。演算子の後ろに符号を指定した項を指定する場合,その項は括弧で囲む必要があります。符号と演算子の例を次に示します。
-a+(-b) a*(-b+1) a/(-b)+1
表4-7 四則演算(2項演算)の演算項のデータ型と演算結果のデータ型の関係
| 項番 | 第1演算項データ型 | 第2演算項データ型 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| TINYINT | SMALLINT | INTEGER | BIGINT | REAL | FLOAT | DOUBLE | DECIMAL | NUMERIC | ||
| 1 | TINYINT | TINYINT | SMALLINT | INTEGER | BIGINT | REAL | FLOAT | DOUBLE | DECIMAL | NUMERIC |
| 2 | SMALLINT | SMALLINT | SMALLINT | INTEGER | BIGINT | REAL | FLOAT | DOUBLE | DECIMAL | NUMERIC |
| 3 | INTEGER | INTEGER | INTEGER | INTEGER | BIGINT | REAL | FLOAT | DOUBLE | DECIMAL | NUMERIC |
| 4 | BIGINT | BIGINT | BIGINT | BIGINT | BIGINT | REAL | FLOAT | DOUBLE | DECIMAL | NUMERIC |
| 5 | REAL | REAL | REAL | REAL | REAL | REAL | FLOAT | DOUBLE | DECIMAL | NUMERIC |
| 6 | FLOAT | FLOAT | FLOAT | FLOAT | FLOAT | FLOAT | FLOAT | FLOAT | DECIMAL | NUMERIC |
| 7 | DOUBLE | DOUBLE | DOUBLE | DOUBLE | DOUBLE | DOUBLE | DOUBLE | DOUBLE | DECIMAL | NUMERIC |
| 8 | DECIMAL | DECIMAL | DECIMAL | DECIMAL | DECIMAL | DECIMAL | DECIMAL | DECIMAL | DECIMAL | DECIMAL |
| 9 | NUMERIC | NUMERIC | NUMERIC | NUMERIC | NUMERIC | NUMERIC | NUMERIC | NUMERIC | NUMERIC | NUMERIC |
リレーションs1の列aをDECIMAL型にキャストした値と,列bをINT型にキャストした値を出力します。下線部が値式の部分です。
REGISTER QUERY q1 SELECT (DECIMAL)s1.a AS xxx, (INT)s1.b AS yyy FROM s1[ROWS 100];
All Rights Reserved. Copyright (C) 2010, 2014, Hitachi, Ltd.