Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

範圍

範圍 start..end 表示 startend 之間的一組值(含括,大於等於 start 且小於等於 end)。

若要表示在一側開放的範圍,可以省略 startend

範圍可以在 in 函式的篩選器中使用,具有任何型別的字面值,包括日期:

PRQL

from events
filter (created_at | in @1776-07-04..@1787-09-17)
filter (magnitude | in 50..100)
derive is_northern = (latitude | in 0..)

SQL

SELECT
  *,
  latitude >= 0 AS is_northern
FROM
  events
WHERE
  created_at BETWEEN DATE '1776-07-04' AND DATE '1787-09-17'
  AND magnitude BETWEEN 50 AND 100

範圍也可以在 take 中使用:

PRQL

from orders
sort {-value, created_at}
take 101..110

SQL

SELECT
  *
FROM
  orders
ORDER BY
  value DESC,
  created_at
LIMIT
  10 OFFSET 100

[!NOTE] 半開式範圍通常不如簡單的 >=<= 運算子那樣直觀易讀。

另請參見

路線圖

We’d like to use ranges for other types, such as whether an object is in an array or list literal.