DAI SQL 函数列表
由qxiao创建,最终由rydeng 被浏览 3636 用户
操作符
| 函数名称 | 描述 | 例子 | 
|---|---|---|
+ | 
加法 | 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}
  
  
    
  
  
  
  
 |