如何查询oracle数据库一周的数据

如何查询oracle数据库一周的数据,第1张

参考 oracle11g行变列两种办法的比较:

方法1:优点是分析函数,缺点:返回log,低效,

select link_pid, replace(strs,',','|') all_forms

from

(select tlink_pid,

wmsyswm_concat(tform_of_way)

over(partition by tlink_pid order by tform_of_way ) strs,

row_number() over(partition by tlink_pid order by tform_of_way) RN,

count(1) over(partition by tlink_pid ) CNT

from rd_link_form t

) where RN=CNT

方法2:优点是高效,返回char,缺点:不是分析函数

select tlink_pid,

listagg(tform_of_way, '|')

within group (order by tform_of_way ) all_forms

from rd_link_form t

group by tlink_pid

listagg()需在112版本下才行

两种方法的比较:依link_pid去重后有23万的数据量,方法1的wmsyswm_concat用3小时看不到结果,方法2的listagg用80秒看到结果

我以字典表user_tab_columns改写了上述SQL,如下,大家直接执行就行:

方法1:

select table_name, replace(strs, ',', '|') all_forms

from (select ttable_name,

wmsyswm_concat(tCOLUMN_NAME) over(partition by ttable_name order by tCOLUMN_NAME) strs,

row_number() over(partition by ttable_name order by tCOLUMN_NAME) RN,

count(1) over(partition by ttable_name) CNT

from user_tab_columns t)

where RN = CNT

方法2:

select ttable_name,

listagg(tCOLUMN_NAME, '|')

within group (order by tCOLUMN_NAME ) all_forms

from user_tab_columns t

group by ttable_name

大家可以直接在自己的pl/sql中运行上述SQL

方法如下:

输入select from dba_users; 即可。

常用语句:

一,查看数据库里面所有用户:

select from dba_users;

前提是你是有dba权限的帐号,如sys,system。

二,查看你能管理的所有用户:

select from all_users;

三,查看当前用户信息 :

select from user_users;

扩展资料:

Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。

此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。

这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。

Oracle数据库具有完整的数据管理功能:

1)数据的大量性

2)数据的保存的持久性

3)数据的共享性

4)数据的可靠性

参考资料:

百度百科:Oracle数据库

selectfromdba_users;查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system

selectfromall_users;查看你能管理的所有用户!

selectfromuser_users;查看当前用户信息!

--查询你当前用户下,有哪些表

SELECTFROMuser_tables

--查询你当前用户下,可以访问哪些表[也就是访问自己和其他用户的]

SELECTFROMall_tables

--查询当前数据库所有的表,需要你有DBA的权限

SELECTFROMdba_tables

方法一:FLASH BACK

针对情况是:修改表的时间离你发现的时间不远。如果过了几天了基本上也就不能查到了。9i只能回闪查询。10G支持的功能更强大。

例子:select from scottemp as of timestamp (systimestamp -interval '10'second);

可以参考文档:>

如果是精确查询,都一样大,没必要区分。如果是模糊查询,比如表test,关键子所在的字段在a列,可尝试下面的sql

select ta

from (select a, rownum rn

from test

where a like '%关键字%'

--and rownum <= 2

order by a desc) t

where rn = 2

以上就是关于如何查询oracle数据库一周的数据全部的内容,包括:如何查询oracle数据库一周的数据、如何查询Oracle中所有用户信息、怎么查看oracle数据库中创建的数据库个数(如何查看数据库中所有的数据库)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10155476.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存