Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

카운트 번호 PL/SQL에서 문자열의 문자 및 단어

<시간/>

임의의 길이의 문자열이 주어지고 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