找到 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 標頭以將我們的結果... 閱讀更多

廣告