Computer >> Máy Tính >  >> Lập trình >> MySQL

Đếm không. các ký tự và từ trong một chuỗi trong PL / SQL

Chúng tôi được cung cấp một chuỗi có độ dài bất kỳ và nhiệm vụ là tính số ký tự và từ trong một chuỗi bằng PL / SQL.

PL / SQL là sự kết hợp của SQL cùng với các tính năng thủ tục của ngôn ngữ lập trình, được tập đoàn Oracle phát triển vào đầu những năm 90 để nâng cao khả năng của SQL. PL / SQL là một trong ba ngôn ngữ lập trình chính được nhúng trong Cơ sở dữ liệu thần kỳ, cùng với chính SQL và Java.

Trong khối PL / SQL, chúng ta có khối DECLARE được sử dụng để khai báo các biến được sử dụng trong chương trình và chúng ta có khối BEGIN nơi chúng ta viết logic cho vấn đề đã cho,

Ví dụ

Input − string str = “Tutorials Point”
Output− count of characters is: 15
      Count of words are: 2

Giải thích-:Trong chuỗi đã cho, chúng ta có tổng cộng 2 từ nên số từ là 2 và trong những từ đó, chúng ta có 14 ký tự cộng với một ký tự cho một khoảng trắng trong chuỗi đã cho.

Input − string str = “Honesty is the best policy”
Output − count of characters is: 26
      Count of words are: 5

Giải thích - Trong chuỗi đã cho, chúng ta có tổng cộng 5 từ nên số từ là 5 và trong những từ đó, chúng ta có 24 ký tự cộng với bốn là bốn dấu cách trong một chuỗi đã cho.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Nhập chuỗi có độ dài bất kỳ và lưu trữ trong một biến, giả sử là str

  • Tính độ dài của chuỗi bằng cách sử dụng hàm length () sẽ trả về một giá trị nguyên theo số chữ cái trong chuỗi bao gồm cả khoảng trắng.

  • Duyệt qua vòng lặp bắt đầu từ i đến 0 và cho đến hết độ dài của một chuỗi str

  • Sử dụng hàm substr () sẽ trả về số chuỗi con trong một chuỗi là số từ trong một chuỗi

  • Và, tăng số lượng ký tự với mỗi lần lặp lại của một vòng lặp kéo dài cho đến hết độ dài của một chuỗi.

  • In số lượng ký tự và từ trong một chuỗi.

Ví dụ

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;

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

count of characters is: 15
Count of words are: 2