找到 61 篇文章 关于 Oracle

如何在 Oracle 中检测给定年份是否为闰年?

Kiran P
更新于 2020年12月4日 11:00:47

4K+ 浏览量

问题:您需要确定任何给定年份是否为闰年。解决方案:解决此问题的方法有很多。这些包括计算以确定该年份是否存在 2 月 29 日,或者 3 月 1 日是该年份的第 61 天还是第 62 天。示例SELECT to_number(to_char(sysdate, 'YYYY')) Year,   CASE     WHEN MOD(to_number(to_char(sysdate, 'YYYY')), 400) = 0 then 'Yes'     WHEN MOD(to_number(to_char(sysdate, 'YYYY')), 100) = 0 then 'No'     WHEN MOD(to_number(to_char(sysdate, 'YYYY')), 4) = 0 then 'Yes'     ELSE 'No'     END AS "Leap Year?" FROM dual;输出2020    Yes显然,2020 年是一个令人难忘的一年,它… 阅读更多

如何查看 Oracle 数据库的存储配置?

Kiran P
更新于 2020年12月4日 10:59:35

510 浏览量

问题:您想了解有关数据库的一些入门信息。解决方案:每个 Oracle 程序员/DBA 在其职业生涯中都曾在某个时候继承了其他人已经设置的数据库。您需要了解有关数据库的一些入门信息以了解更多信息。识别主机详细信息和数据库版本示例SELECT instance_name, host_name, version, startup_time FROM v$instance输出INSTANCE_NAME    HOST_NAME                    VERSION           STARTUP_TIME TESTDB          ip-000-00-0-000                19.0.0.0.0        12/AUG/20接下来,我们将确定... 阅读更多

如何在 Oracle 中访问先前或后续行的值?

Kiran P
更新于 2020年12月5日 06:34:42

90 浏览量

您想使用 Oracle 聚合函数 XMLAGG 进行字符串聚合吗?解决方案:您希望在结果集中包含基于前一行和后一行的计算。Oracle 支持 LAG 和 LEAD 分析函数来提供对表中多行的访问,利用前或后逻辑,您无需诉诸将源数据连接到自身。为了演示用法,我们将使用学生数据。LAG 函数可用于查看哪些学生/s 加入跟随另一个,以及计算加入之间经过的时间。SQL:识别学生加入信息示例SELECT first_name,       ... 阅读更多

如何使用 Oracle 聚合函数 XMLAGG?

Kiran P
更新于 2020年12月4日 10:54:05

11K+ 浏览量

您想使用 Oracle 聚合函数 XMLAGG 进行字符串聚合吗?解决方案:示例SELECT class_id,   rtrim(xmlagg(xmlelement(x, first_name   || ' '   || last_name , ', ') ORDER BY first_name).extract('//text()').getstringval(), ', ') AS "names" FROM students GROUP BY class_id;输出CL_MATH         ANDERSON DANIEL, MARTINEZ CHRISTOPHER, TAYLOR PAUL, THOMAS MARK, WILSON THOMAS, CL_PHY          RODRIGUEZ JOSEPH, INS_CHAIRMAN    SMITH JAMES, INS_STAFF       BROWN MICHAEL, DAVIS RICHARD, GARCIA CHARLES, JONES WILLIAM, MILLER DAVID, INS_VP          JOHNSON JOHN, WILLIAMS ROBERT, 在上述语句中,xmlelement 将创建一个名为 x 的 XML 元素(将其命名为您想要的名称)... 阅读更多

如何在 Oracle 中执行字符串聚合/连接?

Kiran P
更新于 2020年12月4日 10:52:16

4K+ 浏览量

问题陈述:您想在 Oracle 中将字符串连接为逗号分隔的文本。解决方案:Oracle 有几种方法可以执行字符串聚合。您在互联网上普遍发现的最常见的用法是将多行转换为带有分隔符的单行。从 Oracle 11.2 版本开始,添加了一个新的内置函数,称为 listagg,它执行字符串聚合。listagg 函数使用两个参数,第一个是我们想要聚合的字符串列或表达式,第二个是可选参数,是在聚合结果中的字符串之间放置的分隔符。within group 是强制性的,并且... 阅读更多

如何在 Oracle 中为查询结果分配排名?

Kiran P
更新于 2020年12月4日 10:51:05

545 浏览量

问题陈述:您想分配一个表示它们在结果中位置的数字/排名。解决方案:Oracle 提供 RANK 分析函数来为结果集中的行生成排名编号。为了演示,我们将按费用对学生进行排名,从最高付费到最低付费。以下 SELECT 语句使用 rank 函数来分配这些值。示例SELECT student_id,        first_name,        last_name,        fees,        RANK() OVER (ORDER BY fees DESC) AS rnk FROM students;输出student_idfirst_namelast_namefeesrnk100SMITHJAMES240001101JOHNSONJOHN170002102WILLIAMSROBERT170002108RODRIGUEZJOSEPH120084103BROWNMICHAEL90005109WILSONTHOMAS90005110MARTINEZCHRISTOPHER82007112TAYLORPAUL78008111ANDERSONDANIEL77009113THOMASMARK690010104JONESWILLIAM600011105MILLERDAVID480012106DAVISRICHARD480012107GARCIACHARLES420014RANK 的行为类似于任何其他分析函数,在对结果集进行第二次传递后,一旦非分析处理... 阅读更多

如何在 Oracle 中缓存查询结果?

Kiran P
更新于 2020年12月4日 10:49:31

3K+ 浏览量

问题陈述:您想提高常用查询的性能。解决方案:我们必须使用 Oracle 的结果缓存来存储常用 SQL 的查询结果,以便在将来使用相同查询时可以快速检索它们。结果缓存是 Oracle 11g 的新增功能,它允许我们将常用查询的结果存储在内存中以进行快速简便的检索。示例SELECT /*+ result_cache */      e.class_id,      min_fees,      max_fees FROM students e ,jobs j WHERE e.class_id = j.class_id GROUP BY e.class_id, min_fees, max_fees;为了演示如何使用它,我们将检查... 阅读更多

如何在 Oracle 中使用直接路径插入技术优化 INSERT 语句?

Kiran P
更新于 2020年12月4日 10:46:58

2K+ 浏览量

问题陈述:您正在执行 INSERT 语句,并且其执行速度比需要的慢。您想优化 INSERT 语句。解决方案:通过在 INSERT 语句中使用 APPEND 或 APPEND_VALUES 提示,我们可以显着加快在数据库上执行插入操作的过程。以下是如何使用 APPEND 提示节省性能的示例。SQL 未优化INSERT INTO students SELECT * FROM students_bkp;输出-- 创建了 22141998 行输出。已用时:00:03:11.21 ------------------------------------------------- | Id  | 操作                | 名称         | ------------------------------------------------- |   0 | INSERT 语句     ... 阅读更多

如何在 Oracle 中执行模式注册和 XML 验证?

Kiran P
更新于 2020年12月4日 10:45:21

1K+ 浏览量

问题陈述:您希望在存储在数据库中的 XML 数据上强制执行 XML 模式有效性。解决方案:Oracle 提供 DBMS_XMLSCHEMA.REGISTERSCHEMA 函数来在 Oracle 数据库中定义 XML 模式。为了验证生成的 xml 数据,我们需要注册模式。在注册模式时,格式必须与生成的 xml 格式匹配,或者根据您希望生成 xml 的方式注册模式。注册提供了两个关键功能。首先,它允许 Oracle 识别可以从中获取模式的外部位置或位置。其次,也是最重要的,REGISTERSCHEMA 会解析模式以检查语法正确性... 阅读更多

如何生成包含嵌套值的 XML?

Kiran P
更新于 2020年12月4日 10:43:13

1K+ 浏览量

问题陈述:您想生成一个复杂的 XML 文档,并在不同级别嵌套值。解决方案:Oracle 有相当多的函数和过程可以从常规数据生成 XML。为了演示用法,我将使用 studentdata。我们将假设我们希望使用学生的 student_id 作为根元素的 XML 属性,并添加有关费用的详细信息,指定付款期限作为属性,并添加货币详细信息。Oracle 函数 XMLROOT、XMLELEMENT 和 XMLATTRIBUTE 提供对所需 XML 结构的完全控制。XMLROOT 提供必要的 XML 标头以将我们的结果... 阅读更多

广告