複合値の関数
size関数
複合項目(配列、マップ、レコード)のフィールド/エントリの数を返します。この関数は、引数として空の順序を受け入れます。その場合、空の順序を返します。入力がNULLの場合、この関数はNULLを返します。結果型はIntegerです。
構文:
integer? size(any?)
セマンティクス:
- any: 前述の構文の
any?
要素は複合パラメータです。size
関数は、配列、マップ、レコードなどの複合パラメータを受け入れます。パラメータ・タイプはany?
として表示されますが、指定した項目が複合でない場合、この関数はエラーを発生させます。 - 戻り型: Integer
例:
通常、すべての乗客は旅行中に1つ以上の荷物を運びます。航空会社アプリケーションでは、
size
関数を使用して、乗客が所有する荷物の数を決定できます。SELECT
fullName AS NAME,
size(bagInfo) AS BagCount
FROM BaggageInfo
説明:
この例では、各乗客が所有するすべての荷物の情報は、各乗客レコードのbagInfo
配列で使用できます。size
関数は、荷物の数を示すbagInfo
配列のサイズを返します。乗客が2つの荷物を所有している場合、bagInfo
配列には2つの項目があり、size関数は値2を返します。
出力:
{"NAME":"Adelaide Willard","BagCount":1}
{"NAME":"Raymond Griffin","BagCount":1}
{"NAME":"Henry Jenkins","BagCount":1}
{"NAME":"Lucinda Beckman","BagCount":1}
{"NAME":"Michelle Payne","BagCount":1}
{"NAME":"Joanne Diaz","BagCount":1}
{"NAME":"Mary Watson","BagCount":1}
{"NAME":"Gerard Greene","BagCount":1}
{"NAME":"Fallon Clements","BagCount":1}
{"NAME":"Kendal Biddle","BagCount":1}
{"NAME":"Elane Lemons","BagCount":1}
{"NAME":"Adam Phillips","BagCount":1}
{"NAME":"Lorenzo Phil","BagCount":2}
{"NAME":"Omar Harvey","BagCount":1}
{"NAME":"Lisbeth Wampler","BagCount":1}
{"NAME":"Dierdre Amador","BagCount":1}
{"NAME":"Teena Colley","BagCount":1}
{"NAME":"Rosalia Triplett","BagCount":1}
{"NAME":"Zulema Martindale","BagCount":1}
{"NAME":"Doris Martin","BagCount":1}
{"NAME":"Zina Christenson","BagCount":1}
前述の問合せでは、bagInfo
配列には乗客が預けた荷物ごとに1つのJSONドキュメントが含まれているため、この問合せのBagcount
には、各乗客がフライトに預けた荷物の数が表示されます。