DAI SQL 函数列表
由bqadm创建,最终由small_q 被浏览 1 用户
操作符
函数名称 | 描述 | 例子 |
---|---|---|
+ |
加法 | 1 + 2 = 3; '2023-1-1'::DATE + INTERVAL 1 MONTH = '2023-2-1'::DATE |
- |
减法 | 1 - 2 = -1; '2023-1-1'::DATE - INTERVAL 1 MONTH = '2022-12-1'::DATE |
* |
乘法 | 1 * 2 = 2 |
/ |
除法 | 7 / 2 = 3.5 |
// |
整数除法 | 7 // 2 = 3 |
% |
取模 | 26 % 3 = 2 |
** |
指数 | 2 ** 3 = 8 |
^ |
指数, ** 的别名 |
2 ^ 3 = 8 |
& |
按位与 | 1 & 2 = 0 |
| |
按位或 | 1 | 2 = 3 |
<< |
位左移 | 1 << 3 = 8 |
>> |
位右移 | 8 >> 2 = 2 |
~ |
按位取反 | ~15 = -16 |
! |
阶乘 | 4! = 24 |
string ^@ search_string |
starts_with 的别名 |
'abc' ^@ 'a' = true |
string || string |
字符串连接 | 'Big' || 'Quant' = 'BigQuant' |
string[index] |
array_extract 的别名 |
'BigQuant'[4] = 'Q' |
string[begin:end] |
array_slice 的别名,如果没有参数则返回 NULL |
'BigQuant'[:4] = 'BigQ' |
l1 @> l2 |
A ⊃ B? 后者是否为前者子集, list_has_all(l1, l2) 的别名 |
[1,2,3] @> [2,null] = true |
l1 <@ l2 |
A ⊂ B? 前者是否为后者子集, list_has_all(l2, l1) 的别名 |
[1,2,null] <@ [1,2] = true |
l1 && l2 |
A ∩ B? 两者是否有交集, list_has_any(l1, l2) 的别名 |
[1, 2, 3] && [2, 3, 4] = true |
string LIKE pattern |
string 是否匹配 pattern ,支持通配符 % 和 _ |
'hello' LIKE '%lo' = true |
string NOT LIKE pattern |
string 是否不匹配 pattern ,支持通配符 % 和 _ |
'hello' NOT LIKE '%lo' = false |
string ILIKE pattern |
string 是否匹配 pattern ,支持通配符 % 和 _ ,忽略大小写 |
'hello' ILIKE '%LO' = true |
string NOT ILIKE pattern |
string 是否不匹配 pattern ,支持通配符 % 和 _ ,忽略大小写 |
'hello' NOT ILIKE '%LO' = false |
string ~~ pattern |
Postgres-style, 等同于 LIKE |
'hello' ~~ '%lo' = true |
string !~~ pattern |
Postgres-style, 等同于 NOT LIKE |
'hello' !~~ '%lo' = false |
string ~~* pattern |
Postgres-style, 等同于 ILIKE |
'hello' ~~* '%LO' = true |
string !~~* pattern |
Postgres-style, 等同于 NOT ILIKE |
'hello' !~~* '%LO' = false |
string LIKE pattern ESCAPE escape_character |
string 是否匹配 pattern ,使用 escape_character 转义通配符 % 和 _ |
'xlo' LIKE '$_lo' ESCAPE '
{link}
|