Giới thiệu
PL/SQL cho phép duyệt qua từng ký tự của chuỗi để đếm tổng ký tự (kể cả khoảng trắng) và số từ (dựa trên khoảng trắng).
Thuật toán
- Nhập chuỗi vào biến
str. - Khởi tạo
nchars = 0,nwords = 1(ít nhất 1 từ). - Vòng lặp
FOR i IN 1..LENGTH(str). - Mỗi vòng: tăng
nchars, lấy ký tựSUBSTR(str, i, 1). - Nếu ký tự là khoảng trắng
' ', tăngnwords. - In kết quả.
Code PL/SQL
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;
Kết quả
count of characters is: 15
Count of words are: 2
Giải thích: 'Tutorials Point' có 14 ký tự chữ + 1 khoảng trắng = 15 ký tự. 1 khoảng trắng → 2 từ.
Ví dụ 2: 'Honesty is the best policy' → 26 ký tự (22 chữ + 4 space), 5 từ.