PSQL常用函数汇总

PSQL常用函数汇总

不定时更新

1. 基本函数

-- 1.1 平均值
    avg()
-- 1.2 求和
    sum()
-- 1.3 none处理
    coalesce(column_name,'目标值')
-- 1.4 分页
    limit 1
-- 1.5 字段长度
    length(column_name)
-- 1.6 四舍五入
    ROUND(column_name)
-- 1.7 类型转换(NUMERIC,NUMERIC(8,2),FLOAT,INT,text)
    column_name:: NUMERIC
-- 1.8 字段拼接
    column_name1||column_name2
-- 1.9 字符串截取
    substring(column_name,1,4)
-- 1.10 分组排序
    row_number() over(PARTITION BY column_name_id ORDER BY column_name desc) as seq -- 分组排序生成序号

2. 时间-字符串函数

-- 2.1 时间加减(timestamp类型可用,h为小时,m为分钟,月份用MON)
now()+'-3y'
-- 2.2 时间转字符串(上月21日)
to_char(now() + '-1MON', 'YYYY-MM-21')
-- 2.3 字符串转时间(上月21日0点)
to_timestamp((to_char(now() + '-1MON', 'YYYY-MM-21')),'YYYY-MM-DD')
-- 2.4 日期截断(昨日0点)
date_trunc('D', NOW() + '-1D')
-- 2.5 时间差('epoch''second''year')
DATE_PART('epoch',column_time1 - column_time2))
-- 2.6 日期转时间(本月首日0点)
to_timestamp(CURRENT_DATE||' 00:00:00','yy-mm-01') 

3. 模糊匹配

-- 3.1 字段包含关系
column_name1 like ('%'||column_name2||'%')
-- 3.2 正则表达式(列不包含'天雷'或者'地火'或者'摔表'或者'仙人指路'或者'马踏飞剑')
column_name !~* '天雷|地火|摔表|仙人指路|马踏飞剑'
-- 3.3 正则表达式(列不包含'厂长'且'广长')
column_name !~* '(?=.*厂长)(?=.*广长)'
上一篇:【备忘】获取msyql字段类型


下一篇:Razor 在WebApp 框架的运用