📜  在PL/SQL中计算一个数字中的奇数和偶数

📅  最后修改于: 2022-05-13 01:54:42.341000             🧑  作者: Mango

在PL/SQL中计算一个数字中的奇数和偶数

先决条件——PL/SQL介绍
在 PL/SQL 代码中,命令组被安排在一个块中。块组相关的声明或语句。在声明部分,我们声明变量,在开始和结束部分之间,我们执行操作。
给定一个数字,任务是找出该数字中奇数位和偶数位的个数。

例子:

Input: 123456
Output: Odd digits = 3
        Even digits = 3

Input: 246
Output: Odd digits = 0
        Even digits = 3

方法是取一个数字,一一检查它的位数,是奇数还是偶数。
以下是所需的实现:

SQL
--Odd and Even digits in a number
--in PL/SQL
DECLARE
  --num variable declared
  --num assign with a number
  num NUMBER := 123456;
 
  --len variable char declared
  len VARCHAR2(20);
 
  --cntvariable declared
  cnt1 NUMBER(5) := 0;
  cnt2 NUMBER(5) := 0;
BEGIN
 
  --for loop go from 1 to length of the number
  FOR i IN 1..Length(num)
  LOOP
    len := Substr(num, i, 1);
    IF mod(len, 2) != 0 THEN
      cnt1 := cnt1 + 1;
    ELSE
      cnt2:=cnt2+1;
    END IF;
  END LOOP;
  --end loop
 
  dbms_output.Put_line('Odd Digits: '
  || cnt1);
  dbms_output.Put_line('Even Digits: '
  || cnt2);
  --display result
END;
--end program


输出:

Odd Digits: 3
Even Digits: 3