📜  在 Pl/SQL 中将给定的数字转换为单词

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

在 Pl/SQL 中将给定的数字转换为单词

先决条件——PL/SQL介绍
在 PL/SQL 代码中,命令组被安排在一个块中。块组相关的声明或语句。在声明部分,我们声明变量,在开始和结束部分之间,我们执行操作。

给定一个数字,任务是将数字的每个数字转换为单词。
例子:

Input: 47856
Output: Four Seven Eight Five Six

Input: 123456
Output: one two three four five six

方法是使用解码函数选择特定数字的相应单词。
以下是所需的实现:

DECLARE 
  
    -- declare variable are num, num_to_word, str, len, c 
    -- and in above declare variable num, len, c are integer datatype  
    -- and num_to_word and str are varchar datatype 
    num         INTEGER; 
    num_to_word VARCHAR2(100); 
    str         VARCHAR2(100); 
    len         INTEGER; 
    c           INTEGER; 
BEGIN 
    num := 123456; 
  
    len := Length(num); 
  
    dbms_output.Put_line('Entered Number is: ' 
                         ||num); 
  
    FOR i IN 1..len LOOP 
        c := Substr(num, i, 1); 
  
        SELECT Decode(c, 0, 'Zero ', 
                         1, 'One ', 
                         2, 'Two ', 
                         3, 'Three ', 
                         4, 'Four ', 
                         5, 'Five ', 
                         6, 'Six ', 
                         7, 'Seven ', 
                         8, 'Eight ', 
                         9, 'Nine ') 
        INTO   str 
        FROM   dual; 
  
        num_to_word := num_to_word 
                       ||str; 
    END LOOP; 
  
    dbms_output.Put_line('Number to words: ' 
                         ||num_to_word); 
END; 
  
-- Program End 

输出 :

Entered Number is: 123456
Number to words: One Two Three Four Five Six