在 PL/SQL 中计算字符串中的字符和单词数
pl/sqlmysqldatabase
我们给定一个任意长度的字符串,任务是使用 PL/SQL 计算字符串中的字符和单词数。
PL/SQL 是 SQL 与编程语言的过程特性的结合。它由 Oracle Corporation 于 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 个字符,另外 4 个字符表示给定字符串中的 4 个空格。
以下程序中使用的方法如下
输入任意长度的字符串并将其存储在变量 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