不同数据库的同功能函数总结

2022-04-22  本文已影响0人  姚宝淇

时间相关

时间的加减

Mysql:timestamp + interval n minute/hour/day/month/year,如:"2022-04-20 00:00:00" + interval 1 hour

postgresql: timestamp + '+1 month',如: to_date(to_char(data_date::timestamp + '+1 month', 'yyyy-mm-dd'), 'yyyy-mm-dd')

spark sql: date_add/add_months等

时间转换为字符串

Mysql:timestamp 本来就可以当字符串用

规范时间格式

Mysql:date_format(timestamp , '%Y-%m-%d %H:%i:%s')


聚合函数相关

多行的数据以字符串的形式连接为一行

Postgresql: array_to_string(array_agg(DISTINCT "titleCh" order by "titleCh" desc),'') as titleChs

Mysql: GROUP_CONCAT(live_room_id order by live_room_id SEPARATOR ', ') as live_room_id

开窗函数

Postgresql: 聚合函数 over (partition by __ order by __)

Mysql: 无开窗函数。替代方法:GROUP_CONCAT+SUBSTRING_INDEX结合可以组内排序取最值,或自身关联一遍(MySQL实现over partition by(分组后对组内数据排序)_MrCao杰罗尔德的博客-CSDN博客_mysql over partition

上一篇 下一篇

猜你喜欢

热点阅读