Mysql数学関数

18103 ワード

すべての数学関数は、エラーが発生した場合、NULLを返します.-
一元減ずる.パラメータを変更する記号:
mysql> SELECT - 2; -> -2
このオペレータが1つのオペレータに使用される場合BIGINT、戻り値も1つBIGINT !これは、可能性のある値を避けるべきであることを意味します.-2^63の整数で使用-オペレータ!ABS(X)
戻るXの絶対値:
mysql> SELECT ABS(2); -> 2 mysql> SELECT ABS(-32); -> 32
この関数は安全に使用できます.BIGINTの値です.SIGN(X)
であるかのように-10または1は、パラメータに応じてパラメータのシンボルを返します.Xは負数、0または正数です.
mysql> SELECT SIGN(-32); -> -1 mysql> SELECT SIGN(0); -> 0 mysql> SELECT SIGN(234); -> 1
MOD(N,M) %
型取り(Cの%オペレータ).戻るNM除算後の残高:
mysql> SELECT MOD(234, 10); -> 4 mysql> SELECT 253 % 7; -> 1 mysql> SELECT MOD(29,9); -> 2 mysql> SELECT 29 MOD 9; -> 2
この関数は安全に使用できます.BIGINTの値です.最後の例はMySQL 4.1で動作します.FLOOR(X)
より大きい値を返さないXの最大整数値:
mysql> SELECT FLOOR(1.23); -> 1 mysql> SELECT FLOOR(-1.23); -> -2
は、戻り値が1つに変換されることに注意するBIGINT ! CEILING(X)
以下の値を返します.Xの最小整数:
mysql> SELECT CEILING(1.23); -> 2 mysql> SELECT CEILING(-1.23); -> -1
は、戻り値が1つに変換されることに注意するBIGINT !
  ROUND(X) ROUND(X,D)
パラメータをX最近の整数に四捨五入して戻ります.2つのパラメータの形式は、1つの数値を四捨五入することです.D個の小数を返します.
mysql> SELECT ROUND(-1.23); -> -1 mysql> SELECT ROUND(-1.58); -> -2 mysql> SELECT ROUND(1.58); -> 2 mysql> SELECT ROUND(1.298, 1); -> 1.3 mysql> SELECT ROUND(1.298, 0); -> 1
パラメータが2つの整数の間にある場合、ROUND()の挙動はCライブラリの実装に依存する.いくつかは最近の偶数に整列して、いつも下に取って、いつも上に取って、いつもゼロに近いかもしれません.整列タイプが必要な場合は、明確に定義された関数を使用します.TRUNCATE()またはFLOOR()が代わります.DIV
除去する.に似ているFLOOR()ですが、安全に使用できます.BIGINTの値です.
mysql> SELECT 5 DIV 2 -> 2
DIVはMySQL 4.1.0に新たに加入した.EXP(X)
戻り値e(自然対数の底)のX次:
mysql> SELECT EXP(2); -> 7.389056 mysql> SELECT EXP(-2); -> 0.135335
LN(X)
戻るXの自然対数:
mysql> SELECT LN(2); -> 0.693147 mysql> SELECT LN(-2); -> NULL
この関数はMySQL 4.0.3に新しく追加されました.MySQLではLOG(X)の同義語.LOG(X) LOG(B,X)
パラメータで呼び出されると、Xの自然対数:
mysql> SELECT LOG(2); -> 0.693147 mysql> SELECT LOG(-2); -> NULL
2つのパラメータで呼び出されると、この関数は返されます.X任意底Bの対数:
mysql> SELECT LOG(2,65536); -> 16.000000 mysql> SELECT LOG(1,100); -> NULL
任意のボトムオプションがMySQL 4.0.3に追加されました.LOG(B,X)LOG(X)/LOG(B) . LOG2(X)
戻るXの2をベースとした対数:
mysql> SELECT LOG2(65536); -> 16.000000 mysql> SELECT LOG2(-100); -> NULL
LOG2()は、通常、1つの数字が格納するためにどれだけのビットビットを必要とするかをカウントするために使用することができる.この関数はMySQL 4.0.3に追加されました.以前のバージョンでは、
代わりにLOG(X)/LOG(2)があります.LOG10(X)
戻るXの10をベースにした対数:
mysql> SELECT LOG10(2); -> 0.301030 mysql> SELECT LOG10(100); -> 2.000000 mysql> SELECT LOG10(-100); -> NULL
POW(X,Y) POWER(X,Y)
戻るXY乗:
mysql> SELECT POW(2,2); -> 4.000000 mysql> SELECT POW(2,-2); -> 0.250000
SQRT(X)
戻るXの非No平方根:
mysql> SELECT SQRT(4); -> 2.000000 mysql> SELECT SQRT(20); -> 4.472136
PI()
PI値(円周率)を返します.5桁の小数を表示していませんが、MySQLの内部ではPIのためにすべての二重精度を使用します.
mysql> SELECT PI(); -> 3.141593 mysql> SELECT PI()+0.000000000000000000; -> 3.141592653589793116
COS(X)
戻るXの余弦、ここで、Xは円弧で与えられます.
mysql> SELECT COS(PI()); -> -1.000000
SIN(X)
戻るXの正弦、ここで、Xは円弧で与えられます.
mysql> SELECT SIN(PI()); -> 0.000000
TAN(X)
戻るXの正接、ここで、Xは円弧で与えられます.
mysql> SELECT TAN(PI()+1); -> 1.557408
ACOS(X)
戻るXの反コサイン、より正確には、戻りコサイン値はXの値です.場合X不在-1から1の範囲内で、NULL :
mysql> SELECT ACOS(1); -> 0.000000 mysql> SELECT ACOS(1.0001); -> NULL mysql> SELECT ACOS(0); -> 1.570796
ASIN(X)
戻るXのどうせの弦、もっと正確に言えば、正弦の値を返しますXの値です.場合X不在-1から1の範囲内で、NULL :
mysql> SELECT ASIN(0.2); -> 0.201358 mysql> SELECT ASIN('foo'); -> 0.000000
ATAN(X)
戻るXの逆正接、より正確には、正接値はXの値:
mysql> SELECT ATAN(2); -> 1.107149 mysql> SELECT ATAN(-2); -> -1.107149
ATAN(Y,X) ATAN2(Y,X)
2つの変数を返しますXおよびYのどうせ切ります.計算に似ていますY / Xの逆カットは、結果を決定するための2つのパラメータの記号を除いて、次のようになります.
mysql> SELECT ATAN(-2,2); -> -0.785398 mysql> SELECT ATAN2(PI(),0); -> 1.570796
COT(X)
戻るXの余剰:
mysql> SELECT COT(12); -> -1.57267341 mysql> SELECT COT(0); -> NULL
RAND() RAND(N)
範囲を返します.0から1.0の間のランダム浮動小数点値.整数パラメータの場合Nは、シード値として使用される(反復可能な数値を生成するために使用される):
mysql> SELECT RAND(); -> 0.9233482386203 mysql> SELECT RAND(20); -> 0.15888261251047 mysql> SELECT RAND(20); -> 0.15888261251047 mysql> SELECT RAND(); -> 0.63553050033332 mysql> SELECT RAND(); -> 0.70100469486881
ORDER BY句の中で、使うことができませんRAND()の値は、カラムを使用します.ORDER BYは、計算カラムを複数回繰り返します.MySQL 3.23から使用できます.SELECT * FROM table_name ORDER BY RAND()、これは、SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000のセット内のランダムサンプル.注意するWHERE句のRAND()は毎回WHERE実行時に再計算されます.  RAND()は完全な乱数発生器を期待しているわけではありませんが、特別な乱数を生成するための迅速な方法として代替することができ、2つの異なるプラットフォームの下で同じMySQLバージョン間の移動を容易にすることができます.LEAST(X,Y,...)
2つ以上のパラメータがあり、最小(最小)のパラメータを返します.パラメータを比較するには、次のルールを使用します.
戻り値がINTEGERの文脈に使用される場合、またはすべてのパラメータが整数として比較される整数値である場合.
戻り値がREAL文脈に使用される場合、またはすべてのパラメータが実数である場合、それらは実数として比較される.
いずれかのパラメータがアルファベットの大文字と小文字に敏感な場合、パラメータは大文字と小文字に敏感な文字列として比較されます.
その他の場合、パラメータは大文字と小文字を無視する文字として比較されます:
mysql> SELECT LEAST(2,0); -> 0 mysql> SELECT LEAST(34.0,3.0,5.0,767.0); -> 3.0 mysql> SELECT LEAST("B","A","C"); -> "A"
MySQL 3.22.5より前のバージョンでは、MIN()代替LEAST . GREATEST(X,Y,...)
最大(最大)パラメータを返します.パラメータの使用LEAST一致する規則を比較します.
mysql> SELECT GREATEST(2,0); -> 2 mysql> SELECT GREATEST(34.0,3.0,5.0,767.0); -> 767.0 mysql> SELECT GREATEST("B","A","C"); -> "C"
MySQL 3.22.5より前のバージョンでは、MAX()代替GREATEST . DEGREES(X)
パラメータをXは、円弧から角度に変換され、次に戻ります.
mysql> SELECT DEGREES(PI()); -> 180.000000
RADIANS(X)
パラメータをXは、角度からラジアンに変換され、次に戻ります.
mysql> SELECT RADIANS(90); -> 1.570796
TRUNCATE(X,D)
数値をXD個の小数点を返します.場合D0、結果には小数点と小数点は含まれません.
mysql> SELECT TRUNCATE(1.223,1); -> 1.2 mysql> SELECT TRUNCATE(1.999,1); -> 1.9 mysql> SELECT TRUNCATE(1.999,0); -> 1 mysql> SELECT TRUNCATE(-1.999,1); -> -1.9
MySQL 3.23.51から始まり、すべての数字がゼロに切り捨てられます.場合Dは負数であり、数字の全部分がゼロビット出力に位置合わせされる.
mysql> SELECT TRUNCATE(122,-2); -> 100
注意してください.10進数小数は通常、コンピュータに正確な数字ではなく、二重精度の値であり、以下の結果に翻弄される可能性があります.
mysql> SELECT TRUNCATE(10.28*100,0); -> 1027
上の結果の発生は、10.28が実際には10.279999999999999999のような形で格納されているためである.
MySQL 5.1リファレンスマニュアル
 http://dev.mysql.com/doc/refman/5.1/zh/index.html
変換元:http://blog.sina.com.cn/s/blog_49c16fee010008xo.html