写点什么

YashanDB DIVE 函数

作者:YashanDB
  • 2025-05-08
    广东
  • 本文字数:1025 字

    阅读完需:约 3 分钟

DIV 函数执行除法运算,运算规则为:

  • 对于小数(FLOAT/DOUBLE/NUMBER),与算术运算符/算法一致。

  • 对于整数,作整除算术运算并返回商数。

在算术运算时,YashanDB 通过隐式数据转换,将参与运算的数据类型统一到某个数据类型,并按此数据类型返回运算结果,具体规则请参考算术运算符里的数据类型描述。

expr1、expr2 的值为数值型,或可以转换为 NUMBER 类型的字符型(转换失败返回 Invalid number 错误)。对于其他类型,函数返回不支持该运算。

当 expr1 或 expr2 中任一值为 NULL 时,函数返回 NULL。

当 expr2 的值为 0,且 expr1 的值为非浮点数值时,函数返回 Divided by zero 错误。

当 expr1 或 expr2 为浮点类型特殊值或 0 时,函数处理规则见下表:


SELECT numbera,numberb,numberc,numberd,numbere,numberf,numberg FROM numbers_nobit;     NUMBERA NUMBERB  NUMBERC               NUMBERD     NUMBERE     NUMBERF     NUMBERG------------ ------- -------- --------------------- ----------- ----------- -----------          -5      55     5555   5555555555555555555  5.555E+000  5.556E+000         555 SELECT DIV(numberb,numbera) div1,DIV(numberd,numbere) div2,DIV(numberf,numberc) div3,DIV(numbera,'17') div4,DIV(numberf,0) div5FROM numbers_nobit;                DIV1        DIV2        DIV3        DIV4        DIV5--------------------- ----------- ----------- ----------- -----------                  -11    1.0E+018    1.0E-003  -.29411765         Inf SELECT TYPEOF(DIV(numberb,numbera)) type1,TYPEOF(DIV(numberd,numbere)) type2,TYPEOF(DIV(numberf,numberc)) type3,TYPEOF(DIV(numbera,'17')) type4,TYPEOF(DIV(numberf,0)) type5FROM numbers_nobit;TYPE1      TYPE2    TYPE3     TYPE4    TYPE5    ---------- -------- --------- -------- ---------bigint     float    double    number   double    SELECT DIV(CAST('Nan' AS FLOAT), CAST('Inf' AS DOUBLE)) ndi,DIV(CAST('-Inf' AS FLOAT), 0) id0,DIV(12, CAST('-Inf' AS DOUBLE)) ndi,DIV(12, CAST('Nan' AS FLOAT)) mdn,DIV(CAST('-Inf' AS FLOAT), CAST('Inf' AS DOUBLE)) idiFROM DUAL;        NDI         ID0         NDI         MDN         IDI----------- ----------- ----------- ----------- -----------        Nan        -Inf           0         Nan         Nan
复制代码


用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB DIVE函数_YashanDB_InfoQ写作社区