SQL时间类型

名字

存储空间

描述

最低值

最高值

分辨率

timestamp [(p)] [without time zone]

8 字节

日期和时间

 

 

 

timestamp [(p)] with time zone

8 字节

日期和时间,带时区

 

 

 

interval [(p)]

12 字节

时间间隔

 

 

 

date

4字节

只用于日期(年月日)

 

 

 

time [(p)] [without time zone]

8 字节

只用于一日内时间(时分秒、毫秒)

00:00:00

24:00:00

 

time [(p)] with time zone

12 字节

只用于一日内时间,带时区

00:00:00+1459

24:00:00-1459

 

(p)表示一个可选的精度值,以指明秒域中小数部分的位数。

date、timestamp、time、interval类型可以直接进行数值逻辑计算,以及进行条件过滤

SQL 标准通过"+"或者"-"是否存在来区分 timestamp without time zone 和 timestamp with time zone 文本,因此TIMESTAMP '2004-10-19 10:23:54'是一个 timestamp without time zone ,而TIMESTAMP '2004-10-19 10:23:54+02'是一个 timestamp with time zone

任何date、time、timestamp或者interval的文本输入需要由单引号包围,就像一个字符串常量一样。SQL 要求使用下面的语法:

type [(p)] 'value'

其中的 'value' 将会被转换为 type 类型的常量。如果不存在该常量所属类型的歧义,那么可以省略明确的类型转换

date

日期类型,仅可以表示“年月日”内容。如果将timestamp类型的值赋值给date型,则只会保留“年月日”内容。

输入示例:
建议使用类似1999-01-08格式

time

当日时间类型,即表示当天“时分秒/毫米”内容。

只写 time 等效于 time without time zone。

输入示例:
04:05:06.789
04:05:06
04:05
040506

timestamp

时间戳类型可以理解为是date+time,表示完成的“年月日 时分秒/毫秒”的时间。

时间戳类型的有效输入由一个日期和时间的连接组成,后面跟着一个可选的时区,一个可选的 AD 或 BC 。另外,AD/BC 可以出现在时区前面,但这个顺序并非最佳的。因此下面两种方式都是有效值。
2004-10-19 10:23:54和2004-10-19 10:23:54+02

interval

interval类型表示一个时间间隔,即date – date、date – timestamp、timestamp – timestamp、time – time的类型。
timestamp – time、date – time类型为timestamp

interval 数值可以用下面的语法声明:

[@] quantity unit [quantity unit...] [direction]

quantity 是一个数字(可能有符号);
unit 是 millisecond ,second, minute, hour, day, week, month, year, decade, century, millennium 或者这些单位的缩写或复数
direction 可以是 ago 或者为空。
@ 符号是一个可选的东西。不同的单位以及相应正确的符号都是隐含地增加的。

day、hour、minute、second的数量可以在无明确单位标记的情况下声明。比如,'1 12:59:10' 和 '1 day 12 hours 59 min 10 sec' 读数一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值