임의의 길이의 문자열이 주어지고 PL/SQL을 사용하여 문자열의 문자와 단어 수를 계산하는 작업이 주어집니다.
PL/SQL은 SQL과 프로그래밍 언어의 절차적 기능을 결합한 것입니다. 90년대 초 Oracle Corporation에서 SQL의 기능을 향상시키기 위해 개발했습니다. PL/SQL은 SQL 자체 및 Java와 함께 Oracle Database에 내장된 3가지 핵심 프로그래밍 언어 중 하나입니다.
PL/SQL 블록에는 프로그래밍에서 사용되는 변수를 선언하는 데 사용되는 DECLARE 블록이 있고 주어진 문제에 대한 논리를 작성하는 BEGIN 블록이 있습니다.
예
Input − string str = “Tutorials Point” 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개의 문자가 주어진 문자열의 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