首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl + oracle dba

Perl + oracle dba
EN

Stack Overflow用户
提问于 2013-01-15 02:37:13
回答 1查看 247关注 0票数 0

我是perl的新手,正在尝试列出昨天创建的所有oracle schema表,即(sysdate - 1)

试图通过perl脚本实现上述功能,并在oracle数据库上运行。

例如:

代码语言:javascript
复制
select schema, table_name, created
from dba_objects
where created = sysdate - 1
and object_type = 'TABLE';
EN

回答 1

Stack Overflow用户

发布于 2013-01-15 02:45:53

根据定义,Oracle中的date既包括日期部分,也包括到第二天的时间。即使您的会话的NLS_DATE_FORMAT仅指定要显示日期组件,时间仍然存在。时间几乎肯定会导致您的查询不返回任何行。sysdate - 1恰好在24小时前返回。因此,如果今天是2013年1月14日13:41:35,sysdate - 1将于2013年1月13日13:41:35返回。您的查询将只返回恰好在那一秒创建的表。

trunc(sysdate)今天午夜返回,trunc(sysdate - 1)昨天午夜返回。因此,最有可能的情况是,您想要类似于

代码语言:javascript
复制
SELECT owner, object_name
  FROM dba_objects
 WHERE created >= trunc(sysdate - 1)
   AND created < trunc(sysdate)
   AND object_type = 'TABLE'

因为dba_objects没有schematable_name列,所以我假设您指的是ownerobject_name

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14324457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档