We are given a string of any length and the task is to calculate the count of characters and words in a string using PL/SQL.
PL/SQL is a combination of SQL along with the procedural features of programming languages.It was developed by Oracle Corporation in the early 90's to enhance the capabilities of SQL. PL/SQL is one of three key programming languages embedded in the Oracle Database, along with SQL itself and Java.
In PL/SQL block, we have DECLARE block which is used to declare the variables used in programming and we have BEGIN block where we write the logic for the given problem,
Input − string str = “Tutorials Point” Output− count of characters is: 15 Count of words are: 2
Explanation-: In the given string we have a total 2 words so word count is 2 and in those words we have 14 characters plus one is for one space in a given string.
Input − string str = “Honesty is the best policy” Output − count of characters is: 26 Count of words are: 5
Explanation − In the given string we have a total 5 words so word count is 5 and in those words we have 24 characters plus four is for four spaces in a given string.
Input the string of any length and store it in a variable let’s say, str
Calculate the length of the string using the length() function that will return an integer value as per the number of letters in the string including the spaces.
Traverse the loop starting from i to 0 and till length of a string str
Use function substr() that will return the number of substrings in a string that is the number of words in a string
And, increase the count of characters with every iteration of a loop which is going till the length of a string.
Print the count of characters and words in a string.
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;
If we run the above code it will generate the following output −
count of characters is: 15 Count of words are: 2