PGSQL基本使用
文章目录
- PGSQL基本使用
- 日期转换
- 长度不够补数
- 获取上下行
- 取连续的开始和结束的值
日期转换
格式 | 说明 |
---|---|
YYYY | 年 |
MM | 月 |
DD | 日 |
hh24 | 24小时制 |
mi | 分钟 |
ss | 秒 |
sql">-- 日期字符串转指定日期字符串
-- 20250101123000 转为 2025-01-01 12:30:00
select to_char(to_timestamp('20250101123000','YYYYMMDDhh24miss'),'YYYY-MM-DD hh24:mi:ss') as t;
长度不够补数
不足前面补数
sql">-- 得到字符串 '09300000'
select lpad(cast(9300000 as text),8,'0') as t;
不足前面补数
sql">-- 得到字符串 '15300000'
select lpad(cast(153000 as text),8,'0') as t;
获取上下行
获取上一行
sql">-- 第一行 pre_name 为 nullselect *,lag(name) over ( order by rn) as pre_namefrom table-- 第一行 pre_name 为 ''
--说明: 1,第一行, '' 为第一行的值select *,lag(name,1,'') over ( order by rn) as pre_namefrom table
获取下一行
sql">-- 最后一行 pre_name 为 nullselect *,lead(name) over ( order by rn) as pre_namefrom table-- 第一行 pre_name 为 ''
--说明: 1,最后一行, '' 为最后一行的值select *,lead(name,1,'') over ( order by rn) as pre_namefrom table