文本处理函数
函数 | 说明 |
---|
left() | 返回字符串左边的字符 |
length() | 返回字符串的长度 |
lower() | 将字符串转换为小写 |
ltrim() | 去掉字符串左边的空格 |
right() | 返回字符串右边的字符 |
rtrim() | 去掉字符串右边的空格 |
substr() | 返回字符串中的特定位置的子串 |
position() | 返回指定字符串在字符串中的位置,不存在返回0 |
目前经常用到的应该是最后的position函数。
时间和日期处理函数
函数 | 说明 |
---|
date_part() | 返回date和interval类型数据的year,month,day,week等值 |
to_timestamp() | 由用unix记时返回公元纪年YYYY-MM-DD HH:MM:SS的形式 |
age() | 时间差函数(返回值的形式由版本决定) |
目前主要用到的是to_timestamp()::date 这条语句。
数值处理函数
聚合函数
函数 | 说明 |
---|
avg() | 分组求平均值 |
sum() | 分组求和 |
max() | 分组求最大值 |
min() | 分组求最小值 |
count() | 分组计数 |
主要和group by 配合使用
窗口函数
函数 | 说明 |
---|
row_number() | 求排序后的序号,排名不重复 |
rank() | 求排序后的序号,排名可重复,前面有x个比自己大的就排名x+1 |
dense_rank() | 求排序后的序号,排名可重复,前面有x个不同分数比自己大的就排名x+1 |
lead() | 可以返回一个用户上一次的登陆的所有colname数据 |
lag() | 可以返回一个用户下一次的登陆的所有colname数据 |
经常与over(partition by co1name order by colname)一起出现用,可能有不支持这些函数的情况。