Postgresql相关sql

项目中遇到,记录一下。

随机数相关

获取0 - 1之间的随机小数
select random();
trunc:截断
从小数点的位置截断取整数
SELECT trunc(random()*(100-1)+1);//结果为0-100之间的整数

时间、日期相关

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)
	)

你可能感兴趣的:(Postgresql,postgresql)