Convierta los números dados en palabras en Pl/SQL

Requisito previo : introducción
a PL/SQL En el código PL/SQL, los grupos de comandos se organizan dentro de un bloque. Un grupo de bloques relacionado con declaraciones o sentencias. En declare part, declaramos variables y entre start y end part, realizamos las operaciones.

Dado un número y la tarea es convertir cada dígito del número en palabras.
Ejemplos:

Input: 47856
Output: Four Seven Eight Five Six

Input: 123456
Output: one two three four five six

El enfoque es seleccionar la palabra correspondiente de un número en particular usando la función de decodificación.
A continuación se muestra la implementación requerida:

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 

Producción :

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

Publicación traducida automáticamente

Artículo escrito por Shashank12 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *