这里总结的是平常开发中用过的函数 将会持续更新...
// 四舍五入函数
round(变量,保留几位小数)
// 截取字符串
substring('zbcd',1,3)
// 获取两个图形相交的面积
ST_Intersection(图形1,图形2)
// 按照图形编码 转化图形
ST_Transform(图形,2346)
// 距离计算
st_length(图形)
// 判断投影编码
st_srid(图形)
// 将日期按照一定格式 转成字符串
to_char(日期, 'yyyy-mm-dd')
// 将字符串按照一定格式转成日期
to_date(日期字符串,'yyyy-mm-dd')
// 获取秒值
date_part('epoch','2022-01-11 13:00:00'::timestamp - '2022-01-11 12:00:00'::timestamp)
// 获取两个日期中间相差的天数
date_part('day','2021-11-11'::timestamp - '2021-11-10'::timestamp)
// 获取两个日期中间的日期
generate_series('2021-10-15'::date ,'2021-10-31'::date,interval '1 day')
// 拼接字符串
string_agg(需要拼接的变量,',')
// 将类型转换
cast(1 as varchar)
// 将列转行
array_agg(变量)
// 将行转行
unnest(变量)
// 根据某个符号分割
regexp_split_to_table('1,2,3',',')
// 按照某个字段进行分组排序
row_number () over (partition by 分组字段 order by 排序字段)
// 判断图形是否自相交
ST_IsValid(图形)
// 获取具体相交的点
ST_IsValidReason(图形字段)
// 该函数尝试创建给定无效几何的有效表示形式而不会丢失任何输入顶点
ST_MakeValid()
// 获取某个月最后一天
date_trunc('month', now()::date) + interval '1 month' - interval '1 day'
// 获取某个月的第一天
date_trunc('month',current_date)
// 获取当前毫秒值
select floor(extract(epoch from now())) * 1000
-- 将毫秒值转成时间
select to_char(to_timestamp(1649717867934/1000) AT TIME ZONE 'UTC-8','yyyy-MM-dd HH24:MI:SS')
-- 清空一张表
truncate table 表名
-- 查验毫秒值转换
select to_char(to_timestamp(floor(extract(epoch from clock_timestamp())) * 1000/1000) AT TIME ZONE 'UTC-8','yyyy-MM-dd HH24:MI:SS'),to_char(clock_timestamp(),'yyyy-MM-dd HH24:MI:SS')
-- 如果为空 则返回默认值
coalesce(字段,默认值)
-- 实时时间
select clock_timestamp()
-- 图形转geojson
select ST_AsGeoJSON(geom)