本文介绍了PolarDB-X支持的数学函数。

PolarDB-X支持如下数学函数:

函数名 描述 示例
ABS(x) 返回x的绝对值。 返回-1的绝对值:

SELECT ABS(-1);

返回:

--1

ACOS(x) 求x的反余弦值(参数是弧度)。

SELECT ACOS(0.25);

ASIN(x) 求x的反正弦值(参数是弧度)。

SELECT ASIN(0.25);

ATAN(x) 求x的反正切值(参数是弧度)。

SELECT ATAN(2.5);

ATAN2(n, m) 求n/m的反正切值(参数是弧度)。

SELECT ATAN2(-0.8, 2);

AVG(expression) 返回一个表达式的平均值,expression是一个字段。 返回Products表中Price字段的平均值:

SELECT AVG(Price) AS AveragePrice FROM Products;

CEIL(x) 返回大于或等于x的最小整数 。

SELECT CEIL(1.5);

返回:

--2

CEILING(x) 返回大于或等于x的最小整数。

SELECT CEILING(1.5);

返回:

--2

COS(x) 求余弦值(参数是弧度)。

SELECT COS(2);

COT(x) 求余切值(参数是弧度)。

SELECT COT(6);

COUNT(expression) 返回查询的记录总数,expression参数是一个字段或者*号。 返回Products表中productID字段共有多少条记录:

SELECT COUNT(ProductID) AS NumberOfProducts FROM Products;

DEGREES(x) 将弧度转换为角度。

SELECT DEGREES(3.1415926535898);

返回:

-- 180.0000000000004

n DIV m 整除,n为被除数,m为除数。 计算10除以5:

SELECT 10 DIV 5;

返回:

-- 2

EXP(x) 返回e的x次方。 计算e的三次方:

SELECT EXP(3);

返回:

-- 20.085536923187668

FLOOR(x) 返回小于或等于x的最大整数。 小于或等于1.5的整数:

SELECT FLOOR(1.5);

返回:

-- 1

GREATEST(expr1, expr2, expr3, ...) 返回列表中的最大值。 返回以下数字列表中的最大值:

SELECT GREATEST(3, 12, 34, 8, 25);

返回:

-- 34

返回以下字符串列表中的最大值:

SELECT GREATEST("Google", "Runoob", "Apple");

返回:

-- Runoob

LEAST(expr1, expr2, expr3, ...) 返回列表中的最小值。 返回以下数字列表中的最小值:

SELECT LEAST(3, 12, 34, 8, 25);

返回:

-- 3

返回以下字符串列表中的最小值:

SELECT LEAST("Google", "Runoob", "Apple");

返回:

-- Apple

LN 返回数字的自然对数,以e为底。 返回2的自然对数:

SELECT LN(2);

返回:

-- 0.6931471805599453

LOG(x)或LOG(base, x) 返回自然对数(以e为底的对数),如果带有base参数,则base为指定带底数。
  • SELECT LOG(20.085536923188)

    返回:

    -- 3

  • SELECT LOG(2, 4);

    返回:

    -- 2

LOG10(x) 返回以10为底的对数。

SELECT LOG10(100) ;

返回:

-- 2

LOG2(x) 返回以2为底的对数。 返回以2为底6的对数:

SELECT LOG2(6);

返回:

-- 2.584962500721156

MAX(expression) 返回字段expression中的最大值。 返回数据表Products中字段Price的最大值:

SELECT MAX(Price) AS LargestPrice FROM Products;

MIN(expression) 返回字段expression中的最小值。 返回数据表Products中字段Price的最小值:

SELECT MIN(Price) AS MinPrice FROM Products;

MOD(x,y) 返回x除以y以后的余数。 5除以2的余数:

SELECT MOD(5,2);

返回:

-- 1

PI() 返回圆周率(3.141593)。

SELECT PI();

返回:

--3.141593

POW(x,y) 返回x的y次方。 2的3次方:

SELECT POW(2,3);

返回:

-- 8

POWER(x,y) 返回x的y次方。 2的3次方:

SELECT POWER(2,3);

返回:

-- 8

RADIANS(x) 将角度转换为弧度。 180度转换为弧度:

SELECT RADIANS(180);

返回:

-- 3.1415926535898

RAND() 返回0到1的随机数。

SELECT RAND();

返回:

--0.93099315644334

ROUND(x) 返回离x最近的整数。

SELECT ROUND(1.23456;

返回:

--1

SIGN(x) 返回x的符号,x是负数、0、正数分别返回-1、0和1。

SELECT SIGN(-10);

返回:

-- (-1)

SIN(x) 求正弦值(参数是弧度)。

SELECT SIN(RADIANS(30));

返回:

-- 0.5

SQRT(x) 返回x的平方根。 25的平方根:

SELECT SQRT(25);

返回:

-- 5

SUM(expression) 返回指定字段的总和。 计算OrderDetails表中字段Quantity的总和:

SELECT SUM(Quantity) AS TotalItemsOrdered FROM OrderDetails;

TAN(x) 求正切值(参数是弧度)。

SELECT TAN(1.75);

返回:

-- -5.52037992250933

TRUNCATE(x,y) 返回数值x保留到小数点后y位的值(与ROUND最大的区别是不会进行四舍五入)。

SELECT TRUNCATE(1.23456,3);

返回:

-- 1.234