Sql Hacks 阅读感悟——日期处理

SQL基础:《SQL HACKS》第4章——日期处理,总共列举了5tips,将字符串转换为日期、发现数据中的趋势、基于任何日期条件的报告等,下述为我对这5tips的评析。

1、将字符串转换为日期

2、发现数据中的趋势

3、基于任何条件的报告

4、生成季度报告

5、月份的第二个星期二

本次评析,我把这5tips都归在一起,原因是作者讲述的日期处理,其实就是sql 的日期、时间函数灵活运用。如发现数据中的趋势无非就是周期的提取(如年、月、周)及求和或者平均值等,基于任何条件的报告也是基于某个时间段的数据归纳、分析等。

Sql中日期处理,我认为至少需了解下述几点知识:

1insertupdate记录的时候,日期、时间类型是如何表示的,是’2011-1-29’呢还是 date ’2011-1-29’?

2)日期、时间基本处理函数:如日期加减、年月日提取等

3)数据库当前日期、时间的取法

下述为postgresql的一些日期、时间函数

日期/时间操做符

操作符

例子

结果

+

date '2001-09-28' + integer '7'

date '2001-10-05'

+

date '2001-09-28' + interval '1 hour'

timestamp '2001-09-28 01:00'

+

date '2001-09-28' + time '03:00'

timestamp '2001-09-28 03:00

日期/时间函数

函数

返回类型

描述

例子

结果

age(timestamp, timestamp)

interval

减去参数,生成一个使用年、月的"符号化"的结果

age('2001-04-10', timestamp '1957-06-13')

43 years 9 mons 27 days

age(timestamp)

interval

current_date减去得到的数值

age(timestamp '1957-06-13')

43 years 8 mons 3 days

current_date

date

今天的日期;见 Section 9.9.4

current_time

time with time zone

现在的时间;见 Section 9.9.4

current_timestamp

timestamp with time zone

日期和时间;见 Section 9.9.4

date_part(text, timestamp)

double precision

获取子域(等效于 extract);又见 Section 9.9.1

date_part('hour', timestamp '2001-02-16 20:38:40')

20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值