TRUNCATE_SET行関数は、1つのセットと1つの整数を取得して、セット内で指定した数を超えない要素を持つセットのコピーを返します。
TRUNCATE_SET(<set>, <max-size>)ここで、
TRUNCATE_SET({ }, 2) = { } TRUNCATE_SET({ 'a', 'b' }, 2) = { 'a', 'b' } TRUNCATE_SET({ 'a', 'b', 'c' }, 2) = { 'b', 'c' } TRUNCATE_SET({ 1, 2 }, 20) = { 1, 2 } TRUNCATE_SET({ 1, 2 }, -3) = { }
TRUNCATE_SETが有効なのは、現在のフロントエンドUIに対して、セットの最終的な結果を適切で管理可能なサイズにする必要がある場合です。
RETURN results AS SELECT WineID AS id, Flavors AS fullFlavors, TRUNCATE_SET(fullFlavors, 1) AS truncFlavors FROM WineState WHERE WineID BETWEEN 15 AND 19 ORDER BY id
fullFlavors id truncFlavors ------------------------------------------------------------- | { Blackberry, Oaky, Strawberry } | 15 | { Blackberry } | | { Currant, Licorice, Tobacco } | 16 | { Licorice } | | { Cedar, Cherry, Spice } | 17 | { Cherry } | | { Black Cherry, Cedar, Fruit } | 18 | { Black Cherry } | | { Herbal, Strawberry, Vanilla } | 19 | { Herbal } | -------------------------------------------------------------
fullFlavorsセットは、選択された5つの各レコードに対して、Flavorsの完全なセットが割り当てられていることを示しています。fullFlavorsセットは、1要素のセットに切り捨てられます。