PostgreSQL的学习

PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统) 。
PostgreSQL使用一种客户端/服务器的模型。一次PostgreSQL会话由下列相关的进程(程序)组成: 
 一个服务器进程,它管理数据库文件、接受来自客户端应用与数据库的联接并且代表客户端在数据库上执行操作。 该数据库服务器程序叫postgres
PostgreSQL服务器可以处理来自客户端的多个并发请求
以下对PostgreSQL简称为PG,
1、PG中字符型的数据类型只有varchar(变长)和char(定长) 
2、PG中没有dual这个概念。oracle在进行查询的时候,可以是 select '鹿晗' "最喜欢的明星" from dual;
PG中进行查询的语法:select  '鹿晗' "最喜欢的明星" ;
如果想用dual来完成查询的话,可以通过创建一张视图的方式:create or replace view dual as select null
然后通过视图进行查询
3、日期计算:	PG没有sysdate,这里等同于select current_date  获取当前日期
SELECT now()::timestamp + '1 year'; ---当前时间+1年
SELECT now()::timestamp + '1 month';  --当前时间加一个月
SELECT now()::timestamp + '1 day';  --当前时间加一天
SELECT now()::timestamp + '1 hour';  --当前时间加一个小时
SELECT now()::timestamp + '1 min';  --当前时间加一分钟
SELECT now()::timestamp + '1 sec';  --加一秒钟
select now()::timestamp + '1 year 1 month 1 day 1 hour 1 min 1 sec';  --加1年1月1天1时1分1秒
SELECT now()::timestamp + (col || ' day')::interval ; --把col字段转换成天 然后相加
4、查看表列信息
SELECT * FROM information_schema. COLUMNS WHERE TABLE_NAME = 'fca_bill' AND COLUMN_NAME = 'custac';
5、PG数据类型:
varchar(80):存储最长为80特字符串的数据类型
date 日期类型
real 存储单精度浮点数的类型
int 整数类型
	
6、生成时间段内每一天:
select  date(zz) from   
generate_series(date_trunc('month',to_date('20150305','yyyymmdd')),  
date_trunc('day',to_date('20170805','yyyymmdd')),'1 day') as tt(zz); 
2015-03-01
2015-03-02
2015-03-03
2015-03-04
2015-03-05
2015-03-06
2015-03-07
2015-03-08
2015-03-09
2015-03-10
2015-03-11
2015-03-12
2015-03-13
2015-03-14

你可能感兴趣的:(Development)