Sybase IQ常用函数大全--数值函数

29 篇文章 0 订阅
9 篇文章 0 订阅

Sybase IQ常用函数大全–数值函数

查询索引:

  1. ABS 函数:返回数字表达式的绝对值<>。
  2. CEIL 函数:返回大于或等于指定表达式的最小整数。CEIL 是 CEILING 的同义词。
  3. CEILING 函数:返回数字的上限(不小于的最小整数)。CEIL 是 CEILING 的同义词。
  4. FLOOR 函数:返回数字的下限(不大于的最大整数)。
  5. MOD 函数:返回一个整数除以另一个整数之后产生的余数。
  6. POWER 函数:以一个数字为底数另一个数字为指数计算乘方值。无详解。
  7. RAND 函数:返回一个 DOUBLE 精度的随机数字 x,其中 0 <= x <1,使用可选种子。
  8. REMAINDER 函数:返回一个整数除以另一个整数之后产生的余数。
  9. ROUND 函数:将 舍入到小数点后指定的第 位数。
  10. SIGN 函数:返回数字的符号。

1. ABS 函数

返回数字表达式的绝对值<>。

语法:
ABS ( <numeric-expression> )
解析:
参数说明
numeric-expression要返回绝对值的数字。
示例:
-- 以下语句返回值 66:
SELECT ABS( -66 ) FROM iq_dummy

2. CEIL 函数

返回大于或等于指定表达式的最小整数。CEIL 是 CEILING 的同义词。

语法:
CEIL ( <numeric-expression> )
解析:
参数说明
expression数据类型为精确数值、近似数值、货币或任何可隐式转换为这些类型之一的类型的列、变量或表达式。对于其它数据类型,CEIL 会产生错误。返回值与所提供的值属于相同的数据类型。
  • 对于给定表达式,CEIL 函数将采用一个参数。例如,CEIL (-123.45) 返回 -123CEIL (123.45) 返回 124

3. CEILING 函数

返回数字的上限(不小于的最小整数)。CEIL 是 CEILING 的同义词。

语法:
CEILING ( <numeric-expression> )
解析:
参数说明
numeric-expression要计算其上限的数字。
示例:
-- 以下语句返回值 60.00000:
SELECT CEILING( 59.84567 ) FROM iq_dummy

-- 以下语句返回值 123:
SELECT CEILING( 123 ) FROM iq_dummy

-- 以下语句返回值 124.00:
SELECT CEILING( 123.45 ) FROM iq_dummy

-- 以下语句返回值 -123.00:
SELECT CEILING( -123.45 ) FROM iq_dummy

4. FLOOR 函数

返回数字的下限(不大于的最大整数)。

语法:
FLOOR ( <numeric-expression> )
解析:
参数说明
numeric-expression数字,通常是浮点数。
示例:
-- 以下语句返回值 123.00:
SELECT FLOOR ( 123 ) FROM iq_dummy

-- 以下语句返回值 123:
SELECT FLOOR ( 123.45 ) FROM iq_dummy

-- 以下语句返回值 -124.00。
SELECT FLOOR ( -123.45 ) FROM iq_dummy

5. MOD 函数

返回一个整数除以另一个整数之后产生的余数。

语法:
MOD ( <dividend>, <divisor> )
解析:
参数说明
dividend被除数,即除法的分子。
divisor除数,即除法的分母。
  • 为负数时结果为负数或零。 的符号没有影响。
示例:
-- 以下语句返回值 2:
SELECT MOD( 5, 3 ) FROM iq_dummy

6. 略

7. RAND 函数

返回一个 DOUBLE 精度的随机数字 x,其中 0 <= x <1,使用可选种子。

语法:
RAND ( [< integer-expression> ] )
解析:
参数说明
integer-expression用于创建随机数字的可选种子。此参数用于创建可重复的随机数字序列。
  • 如果在只包含 IQ 存储中的表的查询中使用 FROM 子句以及某个参数调用 RAND,则该函数将返回任意可重复值。
  • 如果不调用任何参数,则 RAND 是非确定性函数。连续调用 RAND 可能会返回不同的值。查询优化程序不会对 RAND 函数的结果进行高速缓存。
  • 注意
    • 由 RAND 返回的值因您是否使用 FROM 子句以及引用的表是在 SYSTEM 中创建还是在 IQ 存储中创建而异。
示例:
-- 以下语句返回某个表的 5% 的样本:
SELECT AVG(table1.number_of_cars), AVG(table1.number_of_tvs)FROM table1 WHERE RAND(ROWID(table1)) < .05 and table1.income < 50000;

-- 以下语句返回近似值 941392926249216914:
SELECT RAND( 4 ) FROM iq_dummy

8. REMAINDER 函数

返回一个整数除以另一个整数之后产生的余数。

语法:
REMAINDER ( <dividend>, <divisor> )
解析:
参数说明
dividend被除数,即除法的分子。
divisor除数,即除法的分母。
  • REMAINDER 与 MOD 函数相同。
示例:
-- 以下语句返回值 2:
SELECT REMAINDER( 5, 3 ) FROM iq_dummy

9. ROUND 函数

将 舍入到小数点后指定的第 位数。

语法:
ROUND ( <numeric-expression>, <integer-expression> )
解析:
参数说明
numeric-expression传递给函数的待舍入数字。
integer-expression正整数指定小数点右边舍入到的有效位数。负数表达式指定小数点左边舍入到的有效位数。
  • 如果将 ROUND_TO_EVEN 数据库选项设置为 ON,ROUND 函数会对 SAP IQ 表中的数据舍入到最接近 integer-expression 的偶数,以便与 SAP SQL Anywhere 表数据的行为匹配。当此选项设置为 OFF 时,ROUND 函数会对 SAP IQ 进行四舍五入。
示例:
-- 以下语句返回值 123.200:
SELECT ROUND( 123.234, 1 ) FROM iq_dummy

下表中显示了 ROUND 函数的其它结果:

ROUND(值)
123.4567round (a.n,4)
123.4570round (a.n,3)
123.4600round (a.n,2)
123.5000round (a.n,1)
123.0000round (a.n, 0)
120.0000round (a.n, -1)
100.0000round (a.n, -2)
0.0000round (a.n, -3)

在以下示例中,ROUND_TO_EVEN 设置影响返回值。

ROUND(值)ROUND_TO_EVEN ONROUND_TO_EVEN OFF注释
ROUND (convert (double, 123.45001), 1)123.5123.50.05001 大于 0.1 的一半
ROUND (convert (double, 123.45000), 1)123.4123.50.0500 是 0.1 的一半

10. SIGN 函数

返回数字的符号。

语法:
SIGN ( <numeric-expression> )
解析:
参数说明
numeric-expression要返回其符号的数字
  • 对于负数,SIGN 返回 -1。
  • 对于零,SIGN 返回 0。
  • 对于正数,SIGN 返回 1。
示例:
以下语句返回值 -1SELECT SIGN( -550 ) FROM iq_dummy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值