ORACLE DATE和TIMESTAMP数据类型的比较(一)

原创 2003年07月30日 16:51:00

原著作者:James Koopmann

如果你想在ORACLE中存储DATE和时间信息的话,实际上你由两种字段数据类型的选择的话,就让我们看看这两种数据类型的差别和它们提供了些什么。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

      DATE数据类型

这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到date类型。它可以存储月,年,日,世纪,时,分和秒。它典型地用来表示什么时候事情已经发生或将要发生。DATE数据类型的问题在于它表示两个事件发生时间间隔的度量粒度是秒。这个问题将在文章稍后讨论timestamp的时候被解决。可以使用TO_CHAR函数把DATE数据进行传统地包装,达到表示成多种格式的目的。

 

我见到的大多数人陷入的麻烦就是计算两个时间间的间隔年数、月数、天数、小时数和秒数。你需要明白的是,当你进行两个日期的相减运算的时候,得到的是天数。你需要乘上每天的秒数(1=86400秒),然后,你可以再次计算得到你想要的间隔数。下面就是我的解决方法,可以精确计算出两个时间的间隔。我明白这个例子可以更简短些,但是我是为了显示所有的数字来强调计算方式。

 

TIMESTAMP 数据类型

DATE数据类型的主要问题是它粒度不能足够区别出两个事件哪个先发生。ORACLE已经在DATE数据类型上扩展出来了TIMESTAMP数据类型,它包括了所有DATE数据类型的年月日时分秒的信息,而且包括了小数秒的信息。如果你想把DATE类型转换成TIMESTAMP类型,就使用CAST函数。

 

正如你看到的,在转换后的时间段尾部有了一段“.000000”。这是因为从date转换过来的时候,没有小数秒的信息,缺省为0。而且显示格式是按照参数NLS_TIMESTAMP_FORMAT定的缺省格式显示。当你把一个表中date类型字段的数据移到另一个表的timestamp类型字段中去的时候,可以直接写INSERT SELECT语句,oracle会自动为你做转换的。

 

oracle中TIMESTAMP与DATE比较

oracle数据库中timestamp数据类型精度   DATE数据类型   这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到date类型。它可以存储月,年,日,世纪,时,分...
  • zzy7075
  • zzy7075
  • 2013年09月05日 17:43
  • 6607

ORACLE DATE和TIMESTAMP数据类型的比较(二)

原著作者:James KoopmannTIMESTAMP数据的格式化显示和DATE 数据一样。注意,to_char函数支持date和timestamp,但是trunc却不支持TIMESTAMP数据类型...
  • enhydraboy
  • enhydraboy
  • 2003年07月30日 16:55
  • 2751

Timestamp与java.util.date进行比较的问题

假设 d1 Timestamp类型 d2 util.date类型 两者进行比较时候应该首先将父类转化为子类 Timestamp d3=  new Timestamp(d2.getTime())...
  • leixingbang1989
  • leixingbang1989
  • 2013年05月11日 17:25
  • 1186

Oracle中的date与timestamp的区别

在ORACLE中存储DATE和时间信息的话,实际上你有两种字段数据类型的选择(9i)。 DATE数据类型 可以存储月,年,日,世纪,时,分和秒。度量粒度是秒 以使用TO_CHAR函数把DATE数...
  • qq415734794
  • qq415734794
  • 2012年08月07日 16:30
  • 7918

mysql timestamp 和 date比较

1.问题: 列名为create_time代表我新数据的生成时间,如果想提取某一天的数据,该如何比较 注意:create_time为timestamp类型,mysql允许自动生成这个时间,所以表中...
  • topwqp
  • topwqp
  • 2016年07月30日 09:08
  • 3297

关于ORACLE的DATE与MYSQL的TIMESTAMP

阅读目录 1.DATE数据类型2.TIMESTAMP 数据类型3.系统日期和时间4.date和timestamp 的区别5.date和timestamp之间的相互转换可以通过 回到顶部 ...
  • s_bug_bug_bug_bug_s
  • s_bug_bug_bug_bug_s
  • 2016年09月21日 21:31
  • 377

Oracle日期类型Date和timestamp需要注意的地方

Oracle中,常用的日期类型有Date和timestamp,当表定义好之后,写SQL需要注意什么问题呢?来做一个实现: drop table test  purge; drop table te...
  • guogang83
  • guogang83
  • 2016年10月26日 15:15
  • 1250

ORACLE DATE和TIMESTAMP数据类型的比较

 原著作者:James Koopmann如果你想在ORACLE中存储DATE和时间信息的话,实际上你由两种字段数据类型的选择的话,就让我们看看这两种数据类型的差别和它们提供了些什么。       DA...
  • jamex
  • jamex
  • 2008年09月08日 13:39
  • 1070

ORACLE中date和timestamp的相互转化

oracle 中date类型精确可以年月日,时分秒,timestamp类型可以精确的秒一下data转为timstampdata 转为timstam可以函数to_timestamp的方式来转化:SQL>...
  • chenlong331409178
  • chenlong331409178
  • 2015年08月12日 10:52
  • 27084

ORACLE -- DATE和TIMESTAMP数据类型的比较

DATE数据类型可以存储月,年,日,世纪,时,分和秒。度量粒度是秒。可以使用TO_CHAR函数把DATE数据进行传统地包装,达到表示成多种格式的目的。SQL> SELECT TO_CHAR(date1...
  • always_my_fault
  • always_my_fault
  • 2007年11月24日 16:20
  • 1032
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORACLE DATE和TIMESTAMP数据类型的比较(一)
举报原因:
原因补充:

(最多只允许输入30个字)