摘要: 在本教程中,您將學習如何在 WHERE
子句中使用 PostgreSQL
的 BETWEEN
運算符來檢查某個值是否在兩個值之間。
PostgreSQL BETWEEN
運算符
BETWEEN運算符是一種比較運算符,如果某個值介于兩個值之間,則返回true。
以下是 BETWEEN
運算符的語法:
value BETWEEN low AND high
如果 value
在 low
和 high
之間,則 BETWEEN
運算符返回true。
low <= value <= high
在SQL中,BETWEEN
運算符是書寫以下表達式的一種簡寫形式:
value >= low AND value <= high
因此,BETWEEN
運算符簡化了上述范圍測試。
實際上,你會在 WHERE
子句中使用 BETWEEN
運算符,根據一系列值來篩選行。
PostgreSQL BETWEEN
運算符示例
假設我們有以下 inventories
表:
CREATE TABLE inventories (name VARCHAR(255),brand VARCHAR(50),quantity INT,price DECIMAL(19, 2)
);INSERT INTOinventories (name, brand, quantity, price)
VALUES('iPhone 14 Pro', 'Apple', 10, 999.99),('Galaxy S23 Ultra', 'Samsung', 15, 1199.99),('Pixel 7 Pro', 'Google', 8, 899.99),('Xperia 1 IV', 'Sony', 7, 1299.99);
數據:
name | brand | quantity | price
------------------+---------+----------+---------iPhone 14 Pro | Apple | 10 | 999.99Galaxy S23 Ultra | Samsung | 15 | 1199.99Pixel 7 Pro | Google | 8 | 899.99Xperia 1 IV | Sony | 7 | 1299.99
以下示例使用 BETWEEN
運算符查找 inventories
表中價格在 899.99
到 999.99
之間的產品:
SELECTname,price
FROMinventories
WHEREprice BETWEEN 899.99 AND 999.99;
輸出:
name | price
---------------+--------iPhone 14 Pro | 999.99Pixel 7 Pro | 899.99
NOT BETWEEN
運算符
NOT
運算符對 BETWEEN
運算符取反:
value NOT BETWEEN low AND high
如果值小于 low
或 greater
高值,則 NOT BETWEEN
返回true:
value < low OR value > high
例如,以下語句使用 NOT BETWEEN
運算符來查找價格不在 899.99
到 999.99
之間的產品:
SELECTname,price
FROMinventories
WHEREprice NOT BETWEEN 899.99 AND 999.99;
輸出:
name | price
------------------+---------Galaxy S23 Ultra | 1199.99Xperia 1 IV | 1299.99
總結
- 使用
PostgreSQL
的BETWEEN
運算符篩選介于低值和高值之間的值。 - 使用
NOT
運算符對BETWEEN
運算符進行取反。