永发信息网

oracle 中日期的类型都有哪些

答案:4  悬赏:70  手机版
解决时间 2021-04-07 20:17
  • 提问者网友:嘚啵嘚啵
  • 2021-04-07 02:40
oracle 中日期的类型都有哪些
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-04-07 02:47
DATE
包含 世纪、年、月、日、时、分、秒。
占用7个字节,上面每个部分1个字节

TIMESTAMP日期时间 可以包含到小数秒
TIMESTAMP WITH TIME ZONE 包含时区信息
TIMESTAMP WITH LOCAL TIME ZONE包含时区信息,自动调整
全部回答
  • 1楼网友:迷人又混蛋
  • 2021-04-07 05:17
实际上真正的日期只有2种,一种是通常的Date,还有一种是DateTime,看你要的精度了。一般用DateTime就好了.
  • 2楼网友:轻雾山林
  • 2021-04-07 03:50

有以下几种:
DATE,包含 世纪、年、月、日、时、分、秒。占用7个字节,上面每个部分1个字节。

TIMESTAMP 日期时间 可以包含到小数秒。

TIMESTAMP WITH TIME ZONE 包含时区信息。

TIMESTAMP WITH LOCAL TIME ZONE包含时区信息,自动调整。
拓展回答:
Oracle Database,又名Oracle RDBMS,或简称Oracle。
是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
它由至少一个表空间和数据库模式对象组成。这里,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同义词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和范围,用于描述怎样使用数据库的物理空间。
总之,逻辑结构由逻辑存储结构(表空间,段,范围,块)和逻辑数据结构(表、视图、序列、存储过程、同义词、索引、簇和数据库链等)组成,而其中的模式对象(逻辑数据结构)和关系形成了数据库的关系设计。
  • 3楼网友:杯酒困英雄
  • 2021-04-07 03:10
1.1、DATE
这是ORACLE最常用的日期类型,它可以保存日期和时间,常用日期处理都可以采用这种类型。DATE表示的日期范围可以是公元前4712年1月1日至公元9999年12月31日
date类型在数据库中的存储固定为7个字节,格式为:
第1字节:世纪+100
第2字节:年
第3字节:月
第4字节:天
第5字节:小时+1
第6字节:分+1
第7字节:秒+1
1.2、TIMESTAMP(p)
这也是ORACLE常用的日期类型,它与date的区别是不仅可以保存日期和时间,还能保存小数秒,小数位数可以指定为0-9,默认为6位,所以最高精度可以到ns(纳秒),数据库内部用7或者11个字节存储,如果精度为0,则用7字节存储,与date类型功能相同,如果精度大于0则用11字节存储。
格式为:
第1字节:世纪+100
第2字节:年
第3字节:月
第4字节:天
第5字节:小时+1
第6字节:分+1
第7字节:秒+1
第8-11字节:纳秒,采用4个字节存储,内部运算类型为整形
注:TIMESTAMP日期类型如果与数值进行加减运算会自动转换为DATE型,也就是说小数秒会自动去除。
1.3、DATE与TIMESTAMP类型内部存储验证
1 create table T
2 (
3 C1 DATE,
4 C2 TIMESTAMP(9)
5 );
6
7 insert into t(c1,c2) values(date'2010-2-12',timestamp'2010-2-12 13:24:52.234123211');
8 insert into t(c1,c2) values(
9to_date('2010-2-12 10:20:30','YYYY-MM-DD HH24:MI:SS'),
10to_timestamp('2010-2-12 13:24:52.123456','YYYY-MM-DD HH24:MI:SS.FF6')
11 );
12
13 SQL> select c1,dump(c1) c1_d,c2,dump(c2) c2_d from t;
C1 C1_D C2 C2_D
------------------------ ---------------------------------------- ---------------------------------------- -----------------------------------------------------
2010-2-12Typ=12 Len=7: 120,110,2,12,1,1,1 12-FEB-10 01.24.52.234123211 PMTyp=180 Len=11: 120,110,2,12,14,25,53,13,244,Oracle查询日期可以使用=
但是在等号的两边必须数据类型一致,比如'2010-9-19'这是一个字符串不能直接与日期类型字段比较
必须要进行日期转换:
1、日期转换成字符串 to_char(date,'yyyy-mm-dd')='2009-09-19'
2、字符串转成日期 to_date('2009-9-19','yyyy-mm-dd')=trunc(date)
日期本身可能会带时分秒,需要注意
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯