当 您在 SQL编辑器中输入查询或创建 计算时,您将使用 PrestoSQL语法。要比较数值,您可能会发现以下常用函数和运算符很有用。
比较运算符
| 运算子 | 描述 |
|---|---|
< |
小于 |
> |
大于 |
<= |
小于或等于 |
>= |
大于或等于 |
= |
平等的 |
<> 或 != |
不等于 |
全部、任何或部分
您可以将 ALL、ANY 和 SOME 量词与比较运算符一起使用,例如:
表达式运算符量词(子查询)
例如:
| 表达 | 当结果为 真 时 |
|---|---|
A = 全部 (...) |
等于所有值 |
A <> 所有 (...) |
不匹配任何值 |
A < 全部 (...) |
A 小于最小值 |
A = 任意(...) |
等于任何值。这等价于 A IN (...)。 |
A <> 任何 (...) |
一个 不匹配一个或多个值 |
A < 任何(...) |
A 小于最大值 |
注: “任何 ”和 “一些 ”意思相同,可以互换使用。
<!--BETWEEN or NOT BETWEEN
To test if a value is within a range, use the operator BETWEEN,
such as value
BETWEEN min AND max. For example:
SELECT 3 BETWEEN 2 AND 6;
This statement is equivalent to
SELECT 3 >= 2 AND <= 6;
To test if a value is not within a range, use
NOT BETWEEN.
A NULL in a BETWEEN or NOT BETWEEN statement
results in an evaluation of NULL:
SELECT NULL BETWEEN 2 AND 6; -- null
SELECT NULL NOT BETWEEN 2 AND 6; -- null
You can also use BETWEEN and NOT BETWEEN operators
to evaluate string arguments.
The value, min, and max must all be the
same data type.
IS NULL 和 IS NOT NULL
要测试一个值是否未定义或为 空,可以使用 任何数据类型的 IS NULL或 NOT NULL 。
使用 NULL 和 IS NULL 会得出 true 的结论,而使用任何其他常量则不会:
SELECT NULL IS NULL; -- true
SELECT 3 IS NULL; -- false
喜欢
要匹配字符串中指定的字符模式,请使用 LIKE 运算符。图案可以包含常规字符和通配符。
| 外卡 | 表示 |
|---|---|
百分号 % |
零个、一个或多个字符 |
下划线 _ |
单个字符 |
要转义通配符,请使用 ESCAPE 参数指定的字符,例如:
表达式 LIKE 模式 [ ESCAPE '转义字符' ]
如果 pattern 或 escape_character 为 NULL,则表达式的计算结果为 null。
例如:
| 陈述 | 返回 |
|---|---|
SELECT * FROM (VALUES ('abc'), ('bcd'), ('cde')) AS t (name) |
'abc' 和 'bcd' |
SELECT * FROM (VALUES ('abc'), ('bcd'), ('cde')) AS t (name) |
'abc' |
SELECT * FROM (VALUES ('abc'), ('bcd'), ('cde')) AS t (name) |
'bcd' |
SELECT * FROM (VALUES ('abc'), ('bcd'), ('cde')) AS t (name) |
没有什么 |
SELECT * FROM (VALUES ('abc'), ('bcd'), ('cde')) AS t (name) |
'a_c' 和 '_cd' |
SELECT * FROM (VALUES ('abc'), ('bcd'), ('cde')) AS t (name) |
'a%c' 和 '%cd' |