欢迎访问本人博客查看原文:http://wangnan.tech
SQL数字函数主要用于数字处理和/或数学计算。下表详细介绍了数字功能:
名字 |
描述 |
ABS() |
返回数值表达式的绝对值。 |
ACOS() |
返回的数值表达式的反余弦值。如果该值不在范围-1到1,返回NULL。 |
ASIN() |
返回数值表达式的反正弦。如果值的范围不是在-1到1,返回NULL。 |
ATAN() |
返回数值表达式的反正切值。 |
ATAN2() |
返回传递给它的两个变量的反正切值。 |
BIT_AND() |
返回位运算中和表达式中的所有位。 |
BIT_COUNT() |
返回传递给它的二进制值的字符串表示形式。 |
BIT_OR() |
返回按位或在传递表达式的所有位。 |
CEIL() |
返回的最小整数值不小于传递数值表达式 |
CEILING() |
返回的最小整数值不小于传递数值表达式 |
CONV() |
将数值表达式转换从一个时基到另一个。 |
COS() |
返回传递的数值表达式的余弦值,以弧度表示数字表达式。 |
COT() |
返回传递数值表达式的余切。 |
DEGREES() |
返回数值表达式从弧度转换为度。 |
EXP() |
返回基的自然对数(E)传递的数值表达式。 |
FLOOR() |
返回的最大整数的值但不大于传递数值表达式。 |
FORMAT() |
返回一个数值表达式四舍五入到一个小数位数。 |
GREATEST() |
返回输入表达式的最大值。 |
INTERVAL() |
需要多个表达式EXP1,EXP2和EXP3等..如果exp1小于exp2返回0,如果exp1小于EXP3则返回1等。 |
LEAST() |
当给定的两个或两个以上时,返回输入最小值。 |
LOG() |
返回传递数值表达式的自然对数。 |
LOG10() |
返回以10为底的对数所传递的数值表达式。 |
MOD() |
返回一个表达式除以另一种表达方式的剩下部分(模)。 |
OCT() |
返回传递数值表达式的八进制值的字符串表示形式。如果传递的值是NULL,返回NULL。 |
PI() |
返回圆周率(PI)的值 |
POW() |
Returns the value of one expression raised to the power of another expression |
POWER() |
Returns the value of one expression raised to the power of another expression |
RADIANS() |
返回传递表达式转换为弧度的值。 |
ROUND() |
返回数值表达式四舍五入为整数。可以使用一个数的小数点四舍五入的表达式 |
SIN() |
返回数值表达式以弧度的正弦值。 |
SQRT() |
返回数值表达式的非负平方根。 |
STD() |
返回数值表达式的标准差。 |
STDDEV() |
返回数值表达式的标准差。 |
TAN() |
返回以弧度表示的数值表达式的正切值。 |
TRUNCATE() |
返回截断为数值EXP1 EXP2小数位。如果exp2是0,则结果没有小数点。 |
TRUNCATE(X,D)
这个函数的返回值截断到D的小数位数的X。如果D是0,则在小数点被除去。如果D为负,那么D的值的整数部分的值将被截断。请看下面的例子:
SQL>SELECT TRUNCATE(7.536432,2);+---------------------------------------------------------+| TRUNCATE(7.536432,2) |+---------------------------------------------------------+| 7.53 |+---------------------------------------------------------+1 row in set (0.00 sec)
ABS(X)
ABS()函数返回X的绝对值,请看下面的例子:
SQL> SELECT ABS(2);+---------------------------------------------------------+| ABS(2) |+---------------------------------------------------------+| 2 |+---------------------------------------------------------+1 row in set (0.00 sec)SQL> SELECT ABS(-2);+---------------------------------------------------------+| ABS(2) |+---------------------------------------------------------+| 2 |+---------------------------------------------------------+1 row in set (0.00 sec)
ACOS(X)
这个函数返回的反余弦值X,X的值必须介于0.1和1,否则将返回NULL。请看下面的例子:
SQL> SELECT ACOS(1);+---------------------------------------------------------+| ACOS(1) |+---------------------------------------------------------+| 0.000000 |+---------------------------------------------------------+1 row in set (0.00 sec)
ASIN(X)
ASIN()函数返回的反正弦X.X的值必须在0.1至1,否则返回NULL。
SQL> SELECT ASIN(1);+---------------------------------------------------------+| ASIN(1) |+---------------------------------------------------------+| 1.5707963267949 |+---------------------------------------------------------+1 row in set (0.00 sec)
ATAN(X)
这个函数返回X的反正切值
SQL> SELECT ATAN(1);+---------------------------------------------------------+| ATAN(1) |+---------------------------------------------------------+| 0.78539816339745 |+---------------------------------------------------------+1 row in set (0.00 sec)
ATAN2(Y,X)
此函数返回的反正切值的两个参数:X和Y是类似的Y / X的反正切值。
SQL> SELECT ATAN2(3,6);+---------------------------------------------------------+| ATAN2(3,6) |+---------------------------------------------------------+| 0.46364760900081 |+---------------------------------------------------------+1 row in set (0.00 sec)
BIT_AND(expression)
BIT_AND函数返回的按位“与”表达中的所有位。其基本前提是,如果两个对应的位是相同的,那么按位与运算将返回1,而如果它们是不同的,按位与运算将返回0。函数本身返回的64位整数值。如果没有匹配,那么它将返回18446744073709551615。分组的汽车制造商的价格列在下面的示例中执行BIT_AND的功能:
SQL> SELECT MAKER, BIT_AND(PRICE) BITS FROM CARS GROUP BY MAKER+---------------------------------------------------------+|MAKER BITS |+---------------------------------------------------------+|CHRYSLER 512 ||FORD 12488 ||HONDA 2144 |+---------------------------------------------------------+1 row in set (0.00 sec)
BIT_COUNT(numeric_value)
BIT_COUNT()函数返回的数量位活跃在numeric_value。下面的例子演示了如何使用的BIT_COUNT()函数返回数字的有效比特的数字范围:
SQL> SELECT BIT_COUNT(2) AS TWO, BIT_COUNT(4) AS FOUR, BIT_COUNT(7) AS SEVEN+-----+------+-------+| TWO | FOUR | SEVEN |+-----+------+-------+| 1 | 1 | 3 |+-----+------+-------+1 row in set (0.00 sec)
BIT_OR(expression)
BIT_OR()函数返回的按位“或”中表达的所有位。按位或功能的基本前提是,如果相应的位匹配,它返回0,而如果他们不这样做。该函数返回一个64位的整数,而且,如果没有匹配的行,则返回0。下面的例子执行BIT_OR()函数的车表列价格,按制造商分组:
SQL> SELECT MAKER, BIT_OR(PRICE) BITS FROM CARS GROUP BY MAKER+---------------------------------------------------------+|MAKER BITS |+---------------------------------------------------------+|CHRYSLER 62293 ||FORD 16127 ||HONDA 32766 |+---------------------------------------------------------+1 row in set (0.00 sec)
CEIL(X)
CEILING(X)
这些函数返回的最小整数的值不小于X,请看下面的例子:
SQL> SELECT CEILING(3.46);+---------------------------------------------------------+| CEILING(3.46) |+---------------------------------------------------------+| 4 |+---------------------------------------------------------+1 row in set (0.00 sec)SQL> SELECT CEIL(-6.43);+---------------------------------------------------------+| CEIL(-6.43) |+---------------------------------------------------------+| -6 |+---------------------------------------------------------+1 row in set (0.00 sec)
CONV(N,from_base,to_base)
CONV()函数的目的是将其转换之间的数字不同数量基准。该函数返回一个字符串值,Ň从from_base转换to_base。最低基数值是2,最大值是36。如果任何参数为NULL,则该函数返回NULL。考虑下面的例子,从基数为16数字5到基数2转换:
SQL> SELECT CONV(5,16,2);+---------------------------------------------------------+| CONV(5,16,2) |+---------------------------------------------------------+| 101 |+---------------------------------------------------------+1 row in set (0.00 sec)
COS(X)
这个函数返回X以弧度的余弦值。
SQL>SELECT COS(90);+---------------------------------------------------------+| COS(90) |+---------------------------------------------------------+| -0.44807361612917 |+---------------------------------------------------------+1 row in set (0.00 sec)
COT(X)
这个函数返回X的余切,考虑下面的例子:
SQL>SELECT COT(1);+---------------------------------------------------------+| COT(1) |+---------------------------------------------------------+| 0.64209261593433 |+---------------------------------------------------------+1 row in set (0.00 sec)
DEGREES(X)
这个函数返回X从弧度转换为度的值。
SQL>SELECT DEGREES(PI());+---------------------------------------------------------+| DEGREES(PI()) |+---------------------------------------------------------+| 180.000000 |+---------------------------------------------------------+1 row in set (0.00 sec)
EXP(X)
This function returns the value of e (the base of the natural logarithm) raised to the power of X.
SQL>SELECT EXP(3);+---------------------------------------------------------+| EXP(3) |+---------------------------------------------------------+| 20.085537 |+---------------------------------------------------------+1 row in set (0.00 sec)
FLOOR(X)
这个函数返回不大于X的最大整数值
SQL>SELECT FLOOR(7.55);+---------------------------------------------------------+| FLOOR(7.55) |+---------------------------------------------------------+| 7 |+---------------------------------------------------------+1 row in set (0.00 sec)
FORMAT(X,D)
FORMAT()函数是用来在以下格式来格式化数X:###,###,#####截断至D位小数。下面的例子演示了如何使用和输出的FORMAT()函数:
SQL>SELECT FORMAT(423423234.65434453,2);+---------------------------------------------------------+| FORMAT(423423234.65434453,2) |+---------------------------------------------------------+| 423,423,234.65 |+---------------------------------------------------------+1 row in set (0.00 sec)
GREATEST(n1,n2,n3,..........)
GREATEST()函数返回的最大价值的输入参数的集合(N1,N2,N3,第二等)。下面的示例使用GREATEST()函数返回从一组数值的最大数:
SQL>SELECT GREATEST(3,5,1,8,33,99,34,55,67,43);+---------------------------------------------------------+| GREATEST(3,5,1,8,33,99,34,55,67,43) |+---------------------------------------------------------+| 99 |+---------------------------------------------------------+1 row in set (0.00 sec)
INTERVAL(N,N1,N2,N3,..........)
INTERVAL()函数的N的值进行比较的值列表(N1,N2,N3,等)。该函数返回0,如果N
SQL>SELECT INTERVAL(6,1,2,3,4,5,6,7,8,9,10);+---------------------------------------------------------+| INTERVAL(6,1,2,3,4,5,6,7,8,9,10) |+---------------------------------------------------------+| 6 |+---------------------------------------------------------+1 row in set (0.00 sec)
LEAST(N1,N2,N3,N4,......)
LEAST()函数是相反的GREATEST()函数。其目的是为了返回至少值从值列表(N1,N2,N3,和等)的项。下面的示例演示正确使用和输出()函数:
SQL>SELECT LEAST(3,5,1,8,33,99,34,55,67,43);+---------------------------------------------------------+| LEAST(3,5,1,8,33,99,34,55,67,43) |+---------------------------------------------------------+| 1 |+---------------------------------------------------------+1 row in set (0.00 sec)
LOG(X)
LOG(B,X)
单参数版本的函数将返回X的自然对数,如果它被称为有两个参数,它返回的对数X的任意基B.考虑下面的例子:
SQL>SELECT LOG(45);+---------------------------------------------------------+| LOG(45) |+---------------------------------------------------------+| 3.806662 |+---------------------------------------------------------+1 row in set (0.00 sec)SQL>SELECT LOG(2,65536);+---------------------------------------------------------+| LOG(2,65536) |+---------------------------------------------------------+| 16.000000 |+---------------------------------------------------------+1 row in set (0.00 sec)
LOG10(X)
这个函数返回以10为底的对数X.
SQL>SELECT LOG10(100);+---------------------------------------------------------+| LOG10(100) |+---------------------------------------------------------+| 2.000000 |+---------------------------------------------------------+1 row in set (0.00 sec)
MOD(N,M)
这个函数返回剩余的N除以M.考虑下面的例子:
SQL>SELECT MOD(29,3);+---------------------------------------------------------+| MOD(29,3) |+---------------------------------------------------------+| 2 |+---------------------------------------------------------+1 row in set (0.00 sec)
OCT(N)
这相当于使用CONV(N,10,8),OCT() 函数返回的字符串表示的八进制数N.。
SQL>SELECT OCT(12);+---------------------------------------------------------+| OCT(12) |+---------------------------------------------------------+| 14 |+---------------------------------------------------------+1 row in set (0.00 sec)
PI()
这个函数只是简单地返回圆周率的值。 SQL内部存储双精度圆周率值。
SQL>SELECT PI();+---------------------------------------------------------+| PI() |+---------------------------------------------------------+| 3.141593 |+---------------------------------------------------------+1 row in set (0.00 sec)
POW(X,Y)
POWER(X,Y)
这两个函数返回Y的X的幂
SQL> SELECT POWER(3,3);+---------------------------------------------------------+| POWER(3,3) |+---------------------------------------------------------+| 27 |+---------------------------------------------------------+1 row in set (0.00 sec)
RADIANS(X)
这个函数返回X的值,转换为弧度。
SQL>SELECT RADIANS(90);+---------------------------------------------------------+| RADIANS(90) |+---------------------------------------------------------+|1.570796 |+---------------------------------------------------------+1 row in set (0.00 sec)
ROUND(X)
ROUND(X,D)
该函数返回x四舍五入到最接近的整数。如果第二个参数,D提供则该函数返回x四舍五入到D位小数。 D必须是正的或将被删除的小数点右侧的所有数字。请看下面的例子:
SQL>SELECT ROUND(5.693893);+---------------------------------------------------------+| ROUND(5.693893) |+---------------------------------------------------------+| 6 |+---------------------------------------------------------+1 row in set (0.00 sec)SQL>SELECT ROUND(5.693893,2);+---------------------------------------------------------+| ROUND(5.693893,2) |+---------------------------------------------------------+| 5.69 |+---------------------------------------------------------+1 row in set (0.00 sec)
SIGN(X)
这个函数返回的符号X(负,零或正)为-1,0或1。
SQL>SELECT SIGN(-4.65);+---------------------------------------------------------+| SIGN(-4.65) |+---------------------------------------------------------+| -1 |+---------------------------------------------------------+1 row in set (0.00 sec)SQL>SELECT SIGN(0);+---------------------------------------------------------+| SIGN(0) |+---------------------------------------------------------+| 0 |+---------------------------------------------------------+1 row in set (0.00 sec)SQL>SELECT SIGN(4.65);+---------------------------------------------------------+| SIGN(4.65) |+---------------------------------------------------------+| 1 |+---------------------------------------------------------+1 row in set (0.00 sec)
SIN(X)
这个函数返回X的正弦考虑下面的例子:
SQL>SELECT SIN(90);+---------------------------------------------------------+| SIN(90) |+---------------------------------------------------------+| 0.893997 |+---------------------------------------------------------+1 row in set (0.00 sec)
SQRT(X)
这个函数返回X的非负平方根,请看下面的例子:
SQL>SELECT SQRT(49);+---------------------------------------------------------+| SQRT(49) |+---------------------------------------------------------+| 7 |+---------------------------------------------------------+1 row in set (0.00 sec)
STD(expression)
STDDEV(expression)
STD()函数用于返回的标准差表达式。这是相当于采取的VARIANCE()的平方根的表达式。下面的示例计算价格的标准差列在我们的车表:
SQL>SELECT STD(PRICE) STD_DEVIATION FROM CARS;+---------------------------------------------------------+| STD_DEVIATION |+---------------------------------------------------------+| 7650.2146 |+---------------------------------------------------------+1 row in set (0.00 sec)
TAN(X)
这个函数返回参数X的正切值,以弧度表示。
SQL>SELECT TAN(45);+---------------------------------------------------------+| TAN(45) |+---------------------------------------------------------+| 1.619775 |+---------------------------------------------------------+1 row in set (0.00 sec)