返回顶部
首页 > 资讯 > 数据库 >Oracle SCN_TO_TIMESTAMP函数的使用
  • 836
分享到

Oracle SCN_TO_TIMESTAMP函数的使用

2024-04-02 19:04:59 836人浏览 安东尼
摘要

该内容来源官网:Http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions161.htm#BABEHBCB 其用法很简单scn_

该内容来源官网:

Http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions161.htm#BABEHBCB

 

其用法很简单

scn_to_timestamp(number),其中number指的是系统当前生产的SCN

 

文档中NOTE部分提到一个内容值得注意:

The association between an SCN and a timestamp when the SCN is generated is remembered by the database for a limited period of time. This period is the maximum of the auto-tuned undo retention period, if the database runs in the Automatic Undo Management mode, and the retention times of all flashback arcHives in the database, but no less than 120 hours. The time for the association to become obsolete elapses only when the database is open. An error is returned if the SCN specified for the argument to SCN_TO_TIMESTAMP is too old.

 

这里说到当SCN生成时数据库在有限的期限内保留SCN和TIMESTAMP间的关系,这个期限是由undo最大的保存时间来确定,如果数据库运行了UNDO的自动管理,并且存储的闪回归档不小于120小时,则仅当数据库开启时这个关系会过期,当通过SCN_TO_TIMESTAMP函数查询时,会返回参数太旧的错误提示。

 

同时文档中提到一个有趣的用法,Oracle提供了一个叫ORA_ROWSCN的虚拟列,当你对某些表进行查询是,通过SCN_TO_NUMBER()参数中指定该虚拟字段,其返回的结果是该表中行最后一次升级的时间。

sql> select scn_to_timestamp(ORA_ROWSCN) from tbilllog3;
SCN_TO_TIMESTAMP(ORA_ROWSCN)
---------------------------------------------------------------------
05-JAN-15 02.25.28.000000000 PM
05-JAN-15 05.28.56.000000000 PM

其目的主要在于闪回查询,通过时间戳将数据回退到某一个时间点。例子可以看一下官网中的介绍

 

如果指定的是未来的某个SCN数,则会出现如下错误,

SQL> select scn_to_timestamp(2095591) from dual;

select scn_to_timestamp(2095591) from dual

       *

ERROR at line 1:

ORA-08181: specified number is not a valid system change number

ORA-06512: at "SYS.SCN_TO_TIMESTAMP", line 1

您可能感兴趣的文档:

--结束END--

本文标题: Oracle SCN_TO_TIMESTAMP函数的使用

本文链接: https://lsjlt.com/news/38694.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle SCN_TO_TIMESTAMP函数的使用
    该内容来源官网:http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions161.htm#BABEHBCB 其用法很简单scn_...
    99+
    2024-04-02
  • Oracle trunc函数的使用
    1. 对日期的操作 2. 对数字的操作 1、对日期的操作 SELECT TRUNC(SYSDATE) FROM DUAL; --2019/11/29 今天的日期为2019/11/29 SELECT TRUNC(SYSDA...
    99+
    2018-03-13
    Oracle trunc函数的使用
  • Oracle Decode函数的使用
    DECODE函数的可以根据用户给定的判定条件给定想要的结果语法:DECODE(expr,{search,result,}….,default) 这里给的search,result可以是多个,而括号里所有元素...
    99+
    2024-04-02
  • oracle instr 函数的使用
    在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。在一个字符串中查找指定的字符,返回被查找到的指定的字符的位置。语法:instr(sourceString,destStr...
    99+
    2024-04-02
  • Oracle to_char函数的使用
    Oracle中的to_char函数用于将数据转换为字符类型,并可以指定转换的格式。to_char函数的语法如下:to_cha ...
    99+
    2023-09-22
    Oracle
  • Oracle中的table()函数使用
    目录一、序言二、table()函数使用步骤三、table() 具体使用实例3.1 table()结合数组 使用3.2 table()结合PIPELINED函数(这次报表使用的方式)3.3 table()结合系统包使用一、...
    99+
    2023-05-12
    Oracle table()函数 Oracle table()函数使用
  • oracle pivot 和 unpivot 函数的使用
    pivot的格式select from( inner_query)pivot(aggreate_function for pivot_column in ( list of values))or...
    99+
    2024-04-02
  • oracle的decode函数怎么使用
    Oracle的DECODE函数用于根据给定的条件对一个表达式进行解码。它的基本语法如下:DECODE(expression, sea...
    99+
    2023-08-29
    oracle decode
  • Oracle to_char函数的使用方法
    Oracle中的TO_CHAR函数用于将数据转换为字符串格式。TO_CHAR函数有多个参数,以下是常用的使用方法:1. 将日期转换为...
    99+
    2023-08-17
    Oracle
  • oracle的instr函数如何使用
    Oracle的INSTR函数是用于在字符串中查找子字符串的位置的函数。它的语法如下:INSTR(string, substring,...
    99+
    2023-08-29
    oracle instr
  • oracle的concat函数怎么使用
    Oracle的concat函数用于将两个字符串连接在一起。其语法如下: SELECT CONCAT(string1,...
    99+
    2024-03-11
    oracle
  • oracle的nvl函数如何使用
    在Oracle数据库中,NVL函数用于检查一个表达式是否为NULL,如果是NULL则返回另一个指定的值,否则返回原表达式的值。 NV...
    99+
    2024-04-02
  • oracle的ifnull函数怎么使用
    Oracle并没有提供直接的IFNULL函数,但是可以使用NVL函数来实现类似的功能。 NVL函数的语法如下: NVL(expr1,...
    99+
    2024-04-09
    oracle
  • oracle的nvl函数怎么使用
    NVL函数是Oracle SQL中的一个函数,用于将NULL值替换为指定的值。其语法如下: NVL(expr1, expr2) 其中...
    99+
    2024-04-09
    oracle
  • oracle的to_date函数如何使用
    Oracle 的 TO_DATE 函数用于将一个字符串转换为日期格式。它的语法如下: TO_DATE(字符串, 格式化字符串) 其中...
    99+
    2024-04-08
    oracle
  • oracle的todate函数怎么使用
    Oracle的TO_DATE函数用于将一个字符串转换为日期数据类型。它的基本语法如下: TO_DATE(string, format...
    99+
    2024-03-13
    oracle
  • Oracle使用简单函数
    本章将介绍Oracle数据库的内置函数。函数可以接受零个或多个参数,并返回一个输出参数。在Oracle数据库中可以使用两种主要类型的参数:单行函数(single row function)单行函数同时只能对...
    99+
    2024-04-02
  • oracle中decode函数的使用方法
    本篇文章给大家分享的是有关oracle中decode函数的使用方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。decode的几种用法1:使用...
    99+
    2024-04-02
  • Oracle使用cast() 函数的一个BUG
    今天在用Oracle时无意发现一个小问题,就是使用cast函数转换类型时,出现文字被截断现象,现贴出来,如下:Select  Cast('未填写' As N...
    99+
    2024-04-02
  • Oracle中listagg函数的使用方法
    这篇文章主要介绍Oracle中listagg函数的使用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!listagg函数的用法这是一个Oracle的列转行函数:LISTAGG()先...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作