【问题标题】:I try to correct this error but I failed what is the error in this program?我尝试更正此错误但我失败了这个程序中的错误是什么?
【发布时间】:2022-11-18 19:16:58
【问题描述】:
SET SERVEROUTPUT ON
DECLARE
WEIGHT_NUM NUMBER:= &WEIGHT_NUM1;
WEIGHT_TYPE VARCHAR2 :=' &WEIGHT_TYPE';
BEGIN
IF WEIGHT_TYPE='kb'  THEN
 DBMS_OUTPUT.PUT_LINE('YOU ENTERED KB...CONVERT TO LB='||WEIGHT_NUM/0.45) ;
ELSIF WEIGHT_TYPE='lb'  THEN
 DBMS_OUTPUT.PUT_LINE('YOU ENTERED LB...CONVERT TO KG='||WEIGHT_NUM*0.45) ;
END IF;
END;
/

该程序用户以千克或磅为单位输入他的体重(WEIGHT_SIZE),如果用户以千克“kb”为单位输入他的体重,程序会将千克转换为磅,或者如果用户以磅“lb”输入他的体重,程序会将磅转换为千克但是这个程序显示错误修复这个错误的解决方案是什么?

【问题讨论】:

    标签: oracle plsql


    【解决方案1】:

    VARCHAR2 数据类型必须有其大小。此外,如果您四舍五入算术运算的结果,它可能不会造成伤害:

    SQL> SET SERVEROUTPUT ON
    SQL> DECLARE
      2    WEIGHT_NUM  NUMBER:= &WEIGHT_NUM1;
      3    WEIGHT_TYPE VARCHAR2(2) := '&WEIGHT_TYPE';
      4  BEGIN
      5    IF WEIGHT_TYPE = 'kb'  THEN
      6       DBMS_OUTPUT.PUT_LINE('YOU ENTERED KB...CONVERT TO LB='|| round(WEIGHT_NUM/0.45, 2)) ;
      7    ELSIF WEIGHT_TYPE = 'lb'  THEN
      8      DBMS_OUTPUT.PUT_LINE('YOU ENTERED LB...CONVERT TO KG='|| round(WEIGHT_NUM*0.45, 2)) ;
      9    END IF;
     10  END;
     11  /
    Enter value for weight_num1: 10
    Enter value for weight_type: kb
    YOU ENTERED KB...CONVERT TO LB=22.22
    
    PL/SQL procedure successfully completed.
    
    SQL>
    

    【讨论】:

    • 乳清你添加 round()
    猜你喜欢
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 2022-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-16
    • 2023-03-30
    相关资源
    最近更新 更多