给我们一个任意长度的字符串,任务是使用PL / SQL计算字符串中的字符和单词数。
PL / SQL是SQL与编程语言的程序功能的结合,由Oracle Corporation在90年代初期开发,旨在增强SQL的功能。PL / SQL与SQL本身和Java一样,是Oracle数据库中嵌入的三种主要编程语言之一。
在PL / SQL块中,我们有DECLARE块,用于声明编程中使用的变量,而我们有BEGIN块,在其中为给定问题编写逻辑,
Input − string str = “(niaoge.com)”Output− count of characters is: 15 Count of words are: 2
说明-:在给定的字符串中,我们总共有2个单词,因此单词计数为2,在这些单词中,我们有14个字符,而给定字符串中的1空格。
Input − string str = “Honesty is the best policy”Output − count of characters is: 26 Count of words are: 5
说明-在给定的字符串中,我们总共有5个单词,因此单词数为5,在这些单词中,我们有24个字符,外加4个字符,表示给定字符串中的四个空格。
输入任意长度的字符串并将其存储在变量中,例如str
使用该length()
函数计算字符串的长度,该函数将根据字符串中包含空格的字母数返回一个整数值。
从i到0遍历循环,直到字符串str的长度
使用substr()
将返回字符串中子字符串数即字符串中单词数的函数
并且,随着循环的每次迭代(直到字符串的长度),增加字符数。
打印字符串中的字符和单词数。
DECLARE str VARCHAR2(40) := '(niaoge.com)'; 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