Mysql数学関数
18103 ワード
すべての数学関数は、エラーが発生した場合、
一元減ずる.パラメータを変更する記号:
戻る
であるかのように
型取り(Cの
より大きい値を返さない
以下の値を返します.
パラメータを
除去する.に似ている
戻り値
戻る
パラメータで呼び出されると、
戻る
代わりに
戻る
戻る
戻る
PI値(円周率)を返します.5桁の小数を表示していませんが、MySQLの内部ではPIのためにすべての二重精度を使用します.
戻る
戻る
戻る
戻る
戻る
戻る
2つの変数を返します
戻る
範囲を返します.
2つ以上のパラメータがあり、最小(最小)のパラメータを返します.パラメータを比較するには、次のルールを使用します.
戻り値が
戻り値が
いずれかのパラメータがアルファベットの大文字と小文字に敏感な場合、パラメータは大文字と小文字に敏感な文字列として比較されます.
その他の場合、パラメータは大文字と小文字を無視する文字として比較されます:
最大(最大)パラメータを返します.パラメータの使用
パラメータを
パラメータを
数値を
MySQL 5.1リファレンスマニュアル
http://dev.mysql.com/doc/refman/5.1/zh/index.html
変換元:http://blog.sina.com.cn/s/blog_49c16fee010008xo.html
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)
であるかのように
-1
、 0
または1
は、パラメータに応じてパラメータのシンボルを返します.X
は負数、0または正数です.mysql> SELECT SIGN(-32); -> -1 mysql> SELECT SIGN(0); -> 0 mysql> SELECT SIGN(234); -> 1
MOD(N,M)
%
型取り(Cの
%
オペレータ).戻るN
被M
除算後の残高: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)
戻る
X
Y
乗: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)
数値を
X
D
個の小数点を返します.場合D
は0
、結果には小数点と小数点は含まれません.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