2.3.3 データの計算

データを計算するクエリについて,摂氏で観測した気温データを華氏に変換する場合を例に説明します。摂氏から華氏へ変換するには,クエリ中に計算式を記述する必要があります。このクエリを実行した場合の,入力データと出力データを次の図に示します。

図2-17 データを計算するクエリを実行した場合の入力データと出力データ

[図データ]

クエリの内容
気温を摂氏から華氏に変換するには,四則演算を使用して,SELECT句に計算式を指定します。

REGISTER STREAM temperature_stream
(observation_time TIME, id INTEGER, temperature INTEGER);
REGISTER QUERY unit_conversion
ISTREAM (
SELECT observation_time, id,
temperature*9/5+32 AS fahrenheit_temperature
FROM temperature_stream[ROWS 1]);

クエリの解説
このクエリの処理対象は,最新の一つのタプルとします。FROM句には,タプルの個数でストリームデータからタプルを抽出するROWSウィンドウを指定します。
出力データは,華氏で表現された気温データです。SELECT句には,摂氏から華氏に変換するための計算式として「temperature*9/5+32」を指定しています。
計算したデータを出力する場合,計算結果のデータに名称を与える必要があります。計算結果のデータの名称は,「AS」で指定します。CQL中では,華氏の計算結果のデータの名称として,「fahrenheit_temperature」を指定しています。