PostgreSql函数和操作符一之时间运算1

时间的类型 Postgresql数据库中的时间类型大致可以分为四种类型或者格式,分别为: 1、Date:4个字节,只有日期没有时间如:“2015-04-10”; 2、Timestamp:8个字节,可以有时区也可以没有,包含日期和时间, 如:“2015-04-10 10:00:00”; 3、Interval:时间间隔 16字节,; 4、Time:单指时间,可以有时区也可以不加,如:“10:00:12”,没有时区的为12字节长度,包含时区则是16字节; 时间的算术计算 下面介绍下时间类型的”+”,”-“,”*”,”/”: 时间的加减乘除 a)日期直接与一个整型相加: select date '2015-04-10' + integer '7'; Result:2015-04-17 select date '2015-04-10' + 7; Result:2015-04-17 select date '2015-04-10' + '7'::integer; Result:2015-04-17 b)日期与时间间隔(interval)的运算: select date '2015-04-10' + interval '3 years'; select date '2015-04-10' + interval '3 months'; select date '2015-04-10' + interval '3 days'; select date '2015-04-10' + interval '3 hours'; select date '2015-04-10' + interval '3 minutes'; select date '2015-04-10' - interval '3 seconds'; c)日期与时间类型(time)的运算: select date '2015-04-10' + time '3:00'; select date '2015-04-10' - time '5:00'; d)时间戳类型与时间类型的运算: select timestamp '2015-04-17 10:00:00' - time '03:00'; select timestamp '2015-04-17 10:00:00' + time '03:00'; e)时间间隔之间的运算: select interval '1 hours' + interval '10 minutes'; select interval '1 hours' - interval '10 minutes'; f)时间间隔与时间类型的运算: select time '05:00' - interval '3 hours'; select time '05:00' + interval '5 hours'; g)时间间隔的乘法: 900 * interval '1 second' h)时间间隔的除法: interval '1 hour' / double precision '1.5' TIPS1: 1.Date类型的值不能与Date类型的值相加,但是能相减,返回的是两个日期相差的天数,如interval ‘3 days’。 2.Date类型的值不能与timestamp类型的值相加,但是可以相减,返回的值是两个值相差的时间间隔(interval)。 3.Date类型的值能与time类型的值相加,相减,返回的值是timestamp类型。 4.Timestamp类型的值能与interval和time值相加相加,返回的值仍旧是timestamp类型。 5.乘除运算只能是interval和time类型;

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1. 标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1. 数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1. 表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4. 从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1. 读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7. 模式匹配 PostgreSQL提供了三种独立的实现模式匹...