Arklus_ss 2021-02-04 12:00 采纳率: 0%
浏览 68

Oracle 如何实现变量查询

CREATE TABLE [dbo].[test2021](

jshj decimal(18,2) NOT NULL,

sl   decimal(18,2) NOT NULL)

 

 

insert into  [test2021] values('10','12')

 

 

declare

@c decimal(18,2)

select @c=SUM(jshj) from [test2021]

select  sum(sl)/@c from [test2021]

 

查询结果为1.2

 

如何在 ORACLE 里实现

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 00:02
    关注

    针对你的问题,可以使用以下的 SQL 语句在 Oracle 中实现变量查询:

    CREATE TABLE test2021(

    jshj number(18, 2) NOT NULL,

    sl   number(18, 2) NOT NULL);

    insert into test2021 values('10', '12');

    DECLARE

    c number(18, 2);

    BEGIN

    select SUM(jshj) into c from test2021;

    dbms_output.put_line(sum(sl)/c);

    END;

    在 Oracle 中,DECLARE 后面的语句可以声明变量,然后通过 SELECT INTO 将查询结果赋值给变量。在上述例子中,我们同样声明变量 c,然后查询表 test2021 中 jshj 的和并将其赋值给 c。然后,我们在 BEGIN-END 块中,通过 dbms_output.put_line 输出变量 sl 和变量 c 的商,从而得到了查询的结果。

    需要注意的是,在 Oracle 中,数字数据类型使用 number 类型。如果需要存储小数,则需要使用 number(p,s),其中 p 表示总位数,s 表示小数位数。在插入数据时,需要插入数字而不是字符串。

    希望这个回答对你有所帮助!

    评论

报告相同问题?

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)