You need to enable JavaScript to run this app.
导航
数学计算函数
最近更新时间:2024.04.19 13:54:16首次发布时间:2024.01.22 17:18:38

本文介绍日志服务支持的数学计算函数语法及常见场景的使用示例。

注意

日志服务产品架构升级,支持更丰富的检索分析功能。

  • 如果控制台提示新一代架构正式发布信息,表示您使用的是 2.0 架构,可参考本文档使用相关功能。
  • 如果控制台未提示新一代架构正式发布信息,表示您使用的是 1.0 架构,可参考检索分析(1.0 架构)中的检索概述等文档使用相关功能。

关于 1.0 架构与 2.0 架构的具体说明,请参考日志服务架构升级通知

函数列表

说明

在日志服务分析语句(SQL 语句)中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。例如'time' 代表字符串,time"time" 代表字段名或列名。

函数名称

函数语法

说明

ABS 函数

ABS(KEY)

计算目标值的绝对值。

FLOOR 函数

FLOOR(KEY)

对目标值进行向下取整数。

LOG 函数

LOG(KEY)

计算目标值的自然对数。

LOG 函数

LOG10(KEY)

计算目标值以 10 为底的对数。

POWER函数

POWER(KEY, y)

计算目标值的 y 次幂。

RAND 函数

RAND()

返回一个随机数。

RANDOM 函数

RANDOM()

返回 [0,1) 之间的随机数。

RANDOM(0, KEY)

返回 [0,KEY) 之间的随机数。

ROUND 函数

ROUND(KEY)

对目标值进行四舍五入取整数。

ROUND(KEY,n)

对目标值进行四舍五入,并保留 n 位小数。

SQRT 函数

SQRT(KEY)

计算目标值的平方根。

ABS 函数

ABS 函数用于计算目标值的绝对值。

函数语法

  • 语法格式

    ABS(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为Smallint、Integer、Real、Tinyint、Bigint、Double、Decimal类型。

  • 返回值说明
    返回值与参数值的类型一致。

函数示例

  • 场景
    计算 RespSize 字段值的绝对值。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT abs(RespSize)
    
  • 检索和分析结果
    图片

FLOOR 函数

FLOOR 函数用于对目标值进行向下取整数。

函数语法

  • 语法格式

    FLOOR(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 Tinyint、Smallint、Integer、Real、Bigint、Double、Decimal 类型 。

  • 返回值说明
    返回比参数值小的最大整数。返回值为 Double 类型。

函数示例

  • 场景
    计算 ReqSize 字段值的平方根,再进行向下取整数。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT FLOOR(SQRT(ReqSize))
    
  • 检索和分析结果
    图片

LOG 函数

LOG 函数用于目标值的自然对数。

函数语法

  • 语法格式

    LOG(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 Double 类型。

  • 返回值说明
    返回值为 Double 类型。

函数示例

  • 场景
    计算 ReqSize 字段值的自然对数。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT LOG(ReqSize)
    
  • 检索和分析结果
    图片

LOG10 函数

LOG10 函数用于计算目标值以 10 为底的对数。

函数语法

  • 语法格式

    LOG10(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 Double 类型。

  • 返回值说明
    返回值为 Double 类型。

函数示例

  • 场景
    计算 ReqSize 字段值以 10 为底的对数。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT LOG10(ReqSize)
    
  • 检索和分析结果
    图片

POWER函数

POWER 函数计算目标值的 y 次幂。

函数语法

  • 语法格式

    POWER(KEY, y)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 Double 类型。

    y

    值为 Double 类型。

  • 返回值说明
    返回值为 Double 类型。

函数示例

  • 场景
    计算 ReqSize 字段值的 3 次幂。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT POWER(ReqSize, 3)
    
  • 检索和分析结果
    图片

RAND 函数

RAND 函数用于返回随机数。

函数语法

  • 语法格式

    RAND()
    
  • 返回值说明
    返回值为 Double 类型。

函数示例

  • 场景
    返回一个随机数。

  • 检索和分析语句

    * | SELECT RAND()
    
  • 检索和分析结果
    图片

RANDOM 函数

RANDOM 函数用于返回 [0,1) 或 [0,KEY) 之间的随机数。

函数语法

  • 语法格式

    • 返回 [0,1) 之间的随机数。

      RANDOM()
      
    • 返回 [0,KEY) 之间的随机数。

      RANDOM(KEY)
      
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,参数值为 Tinyint、Smallint、Integer 或 Bigint 类型。

  • 返回值说明
    返回值类型与参数值的类型一致。

函数示例

  • 场景
    返回 [0,100) 之间的随机数。

  • 检索和分析语句

    * | select RANDOM(100)
    
  • 检索和分析结果
    图片

ROUND 函数

ROUND 函数用于对目标值进行四舍五入。

函数语法

  • 语法格式

    • 对目标值进行四舍五入取整数。

      ROUND(KEY)
      
    • 对目标值进行四舍五入,并保留 n 位小数。

      ROUND(KEY,n)
      
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 Tinyint、Smallint、Integer 或 Bigint 类型。

    n

    数字精度,即小数部分的位数。

  • 返回值说明
    返回值与参数值的数据类型一致。

函数示例

  • 示例1
    • 场景
      计算 ReqSize 字段值的平方根,再进行四舍五入取整数。

    • 日志样例
      图片

    • 检索和分析语句

      * | SELECT ROUND(SQRT(ReqSize))    
      
    • 检索和分析结果
      图片

  • 示例2
    • 场景
      计算今天与昨天的访问量比值,并保留 4 位小数。

    • 日志样例
      图片

    • 检索和分析语句

      * |SELECT
        diff [1] AS today,
        diff [2] AS yesterday,
        ROUND(diff [3],4)
      FROM  (
          SELECT
            COMPARE(PV, 86400) AS diff
          FROM 
          (
            SELECT COUNT(*) AS PV
           )
        )
      
    • 检索和分析结果
      图片

SQRT 函数

SQRT 函数用于计算目标值的平方根。

函数语法

  • 语法格式

    SQRT(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 Double 类型。

  • 返回值说明
    返回值为 Double 类型。

函数示例

  • 场景
    计算 ReqSize 字段值的平方根。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT SQRT(ReqSize)
    
  • 检索和分析结果
    图片