在 PL/SQL 中計算字串中的字元和單詞個數
給定任意長度的字串,任務是使用 PL/SQL 計算字串中字元和單詞的個數。
PL/SQL 是 SQL 與程式語言過程功能的結合體。它由 Oracle 公司在 90 年代初開發,用於增強 SQL 的功能。PL/SQL 是嵌入在 Oracle 資料庫中的三種主要程式語言之一,另外兩種是 SQL 本身和 Java。
在 PL/SQL 塊中,我們有 DECLARE 塊,用於宣告程式中使用的變數;我們有 BEGIN 塊,用於編寫給定問題的邏輯。
例如
Input − string str = “Tutorials Point” Output− count of characters is: 15 Count of words are: 2
解釋:給定的字串中共有 2 個單詞,因此單詞數為 2;這些單詞共有 14 個字元,再加上一個空格。
Input − string str = “Honesty is the best policy” Output − count of characters is: 26 Count of words are: 5
**解釋** - 給定的字串中共有 5 個單詞,因此單詞數為 5;這些單詞共有 24 個字元,再加上四個空格。
下面程式中使用的方法如下:
輸入任意長度的字串,並將其儲存在一個變數中,例如 str。
使用 length() 函式計算字串的長度,該函式將返回一個整數,表示字串中字母的數量(包括空格)。
遍歷迴圈,從 i=0 開始到字串 str 的長度。
使用 substr() 函式返回字串中的子字串數,即字串中的單詞數。
並且,每次迴圈迭代(直到字串的長度)都增加字元計數。
列印字串中字元和單詞的個數。
示例
DECLARE str VARCHAR2(40) := 'Tutorials Point'; nchars NUMBER(4) := 0; nwords NUMBER(4) := 1; s CHAR; BEGIN FOR i IN 1..Length(str) LOOP s := Substr(str, i, 1); nchars:= nchars+ 1; IF s = ' ' THEN nwords := nwords + 1; END IF; END LOOP; dbms_output.Put_line('count of characters is:' ||nchars); dbms_output.Put_line('Count of words are: ' ||nwords); END;
輸出
如果執行以上程式碼,將生成以下輸出:
count of characters is: 15 Count of words are: 2
廣告