Postgresql相关sql

项目中遇到,记录一下。

随机数相关

获取0 - 1之间的随机小数
select random();
trunc:截断
从小数点的位置截断取整数
SELECT trunc(random()*(100-1)+1);//结果为0-100之间的整数
split_part:截断字符串
按指定标识符截取,拿到截取后的第2个字符
split_part(column_name,'identifier',2);

时间、日期相关

now()
获取当前时间
SELECT now();
运行结果:'2014-12-24 09:28:31.545145+08'
current_time
只显示当前的时间,不包括日期。
SELECT current_time;
运行结果: '09:32:02.039705+08'
current_date
只显示当前的日期,不包括小时等信息
SELECT current_date;
运行结果: '2014-12-24'
可以控制now()的返回格式
SELECT now()::timestamp(0) without time zone;
运行结果: '2020-04-26 16:07:28'

数据表相关

添加字段
ALTER TABLE table_name ADD column_name varchar(255);
修改字段类型
ALTER TABLE table_name ALTER COLUMN column_name TYPE varchar(255);
创建序列
CREATE SEQUENCE sequenceName
		INCREMENT 1 //递增
		MINVALUE  1 //最小值
		MAXVALUE 99999999  //最大值
		START 1  //开始值
		CACHE 1;  //缓存
		
		SELECT setval('sequenceName', 1, true);//设置序列从1开始
		
		ALTER SEQUENCE sequenceName OWNER TO "postgres";//设置序列所有者为"postgres"
使用序列
CREATE TABLE table_name (
	"id" int4 NOT NULL DEFAULT nextval('sequenceName'::regclass)
	)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值