すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:数値関数

最終更新日:Oct 11, 2024

数値関数を使用して、数値データに対してさまざまな操作を実行できます。 このトピックでは、数値関数の構文について説明し、AnalyticDB for MySQLで数値関数を使用する方法の例を示します。

  • ABS: 引数の絶対値を返します。

  • ACOS: 引数のアークコサインを返します。

  • ASIN: 引数のアークサインを返します。

  • ATAN: 引数のアークタンジェントを返します。

  • ATAN2: xをyで割った結果のアークタンジェントを返します。

  • CEILINGまたはCEIL: xの値を最も近い整数に切り上げます。

  • COS: 引数のコサインを返します。

  • COT: 引数のコタンジェントを返します。

  • CRC32: 引数の巡回冗長検査 (CRC) コードを返します。

  • DEGREES: ラジアンを度に変換します。

  • EXP: eの値 (自然対数の底) をxの累乗で返します。

  • FLOOR: xの値を最も近い整数に切り下げます。

  • LN: 引数の自然対数を返します。

  • LOG: 引数の対数を返します。

  • LOG2: 引数の対数を底2に返します。

  • LOG10: 10を底とする引数の対数を返します。

  • PI: piの値を返します。 Piは、円の直径に対する円の円周の比である。

  • POWERまたはPOW: xの値をyの累乗で返します。

  • RADIANS: 度をラジアンに変換します。

  • RAND: 指定された数値範囲内の乱数を返します。

  • ROUND: 引数の丸められた値を返します。

  • SIGN: 引数の符号を返します。

  • SIN: 引数の正弦を返します。

  • SQRT: 引数の平方根を返します。

  • TAN: 引数のタンジェントを返します。

ABS

abs(x)
  • 説明: この関数はxの絶対値を返します。

  • 入力値のデータ型: TINYINT、SMALLINT、INT、BIGINT、DOUBLE、FLOAT、またはDECIMAL。

  • 戻り値のデータ型:

    • 入力値のデータ型がTINYINT, SMALLINT, INT, またはBIGINTの場合, 戻り値のデータ型はBIGINTとなります。

    • 入力値のデータ型がDOUBLEまたはFLOATの場合、戻り値のデータ型はDOUBLEです。

    • 入力値のデータ型がDECIMALの場合、戻り値のデータ型はDECIMALです。

  • 例:

    • SELECT abs(4.5);

      次の情報が返されます。

      +----------+
      | abs(4.5) |
      +----------+
      |      4.5 |
      +----------+
    • SELECT abs(-4);

      次の情報が返されます。

      +--------+
      | abs(4) |
      +--------+
      |      4 |
      +--------+

ACOS

acos(x)            
  • 説明: この関数は、xのアークコサインを返します。

    xが1より大きい場合、またはxが-1より小さい場合、NULLが返されます。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT acos(0.5);              

    次の情報が返されます。

    +--------------------+
    | acos(0.5)          |
    +--------------------+
    | 1.0471975511965979 |
    +--------------------+

ASIN

asin(x)            
  • 説明: この関数は、xのアークサインを返します。

    xが1より大きい場合、またはxが-1より小さい場合、NULLが返されます。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT asin(0.5);

    次の情報が返されます。

    +--------------------+
    | asin(0.5)          |
    +--------------------+
    | 0.5235987755982989 |
    +--------------------+

ATAN

atan(x)            
  • 説明: この関数は、xのアークタンジェントを返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT atan(0.5);             

    次の情報が返されます。

    +--------------------+
    | atan(0.5)          |
    +--------------------+
    | 0.4636476090008061 |
    +--------------------+

ATAN2

atan2(x, y)          
  • 説明: この関数は、xyで割った値の逆正接を返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT atan2(0.5,0.3);

    次の情報が返されます。

    +--------------------+
    | atan2(0.5,0.3)     |
    +--------------------+
    | 1.0303768265243125 |
    +--------------------+           

天井または天井

ceiling(x)
ceil(x)
  • 説明: この関数は、最も近い整数に切り上げられたxの値を返します。

  • 入力値のデータ型: TINYINT、SMALLINT、INT、BIGINT、DOUBLE、FLOAT、またはDECIMAL。

  • 戻り値のデータ型:

    • 入力値のデータ型がTINYINT, SMALLINT, INT, またはBIGINTの場合, 戻り値のデータ型はBIGINTとなります。

    • 入力値のデータ型がDOUBLEまたはFLOATの場合、戻り値のデータ型はDOUBLEです。

    • 入力値のデータ型がDECIMALの場合、戻り値のデータ型はDECIMALです。

  • 例:

    • SELECT ceiling(4);

      次の情報が返されます。

      +------------+
      | ceiling(4) |
      +------------+
      |          4 |
      +------------+
    • SELECT ceil(-4.5);

      次の情報が返されます。

      +------------+
      | ceil(-4.5) |
      +------------+
      |         -4 |
      +------------+

COS

cos(x)            
  • 説明: この関数はxの余弦を返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT cos(1.3);

    次の情報が返されます。

    +---------------------+
    | cos(1.3)            |
    +---------------------+
    | 0.26749882862458735 |
    +---------------------+

COT

cot(x)            
  • 説明: この関数は、xのコタンジェントを返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT cot(1.234);

    次の情報が返されます。

    +---------------------+
    | cot(1.234)          |
    +---------------------+
    | 0.35013639786701445 |
    +---------------------+

CRC32

crc32(x)            
  • 説明: この関数はxのCRCコードを返します。

  • 入力値のデータ型: VARBINARY。

  • 戻り値のデータ型: BIGINT。

  • 例:

    SELECT crc32('China');                   

    次の情報が返されます。

    +-----------------+
    | crc32('China')   |
    +-----------------+
    |       737014929 |
    +-----------------+

DEGREES

degrees(x)            
  • 説明: この関数はラジアンを度に変換します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT degrees(1.3);

    次の情報が返されます。

    +-------------------+
    | degrees(1.3)      |
    +-------------------+
    | 74.48451336700703 |
    +-------------------+

EXP

exp(x)            
  • 説明: この関数は、e (自然対数の底) の値をxの累乗で返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT exp(4.5);

    次の情報が返されます。

    +-------------------+
    | exp(4.5)          |
    +-------------------+
    | 90.01713130052181 |
    +-------------------+

FLOOR

floor(x)
  • 説明: この関数は、最も近い整数に切り捨てられたxの値を返します。

  • 入力値のデータ型: TINYINT、SMALLINT、INT、BIGINT、DOUBLE、FLOAT、またはDECIMAL。

  • 戻り値のデータ型:

    • 入力値のデータ型がTINYINT, SMALLINT, INT, またはBIGINTの場合, 戻り値のデータ型はBIGINTとなります。

    • 入力値のデータ型がDOUBLEまたはFLOATの場合、戻り値のデータ型はDOUBLEです。

    • 入力値のデータ型がDECIMALの場合、戻り値のデータ型はDECIMALです。

  • 例:

    • SELECT floor(7);

      次の情報が返されます。

      +----------+
      | floor(7) |
      +----------+
      |        7 |
      +----------+
    • SELECT floor(0.8);
      説明

      AnalyticDB for MySQLは、0.8をDECIMAL型の値に変換します。 入力値のデータ型がDECIMALの場合、戻り値のデータ型はDECIMALです。

      次の情報が返されます。

      +-------------+
      | floor(0.8)  |
      +-------------+
      |           0 |
      +-------------+
    • SELECT floor(4/5);
      説明

      AnalyticDB for MySQLは、4/5をDOUBLEタイプの値に変換します。 入力値のデータ型がDOUBLEの場合、戻り値のデータ型はDOUBLEです。 CAST関数を使用して、floor(4/5)=0.0をINTEGER型またはBIGINT型の値に変換できます。 詳細については、「CAST functions」トピックの「CAST AS BIGINT」セクションをご参照ください。

      次の情報が返されます。

      +-------------+
      | floor(4/5)  |
      +-------------+
      |         0.0 |
      +-------------+

LN

ln(x)            
  • 説明: この関数は、xの自然対数を返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT ln(2.718281828459045);

    次の情報が返されます。

    +-----------------------+
    | ln(2.718281828459045) |
    +-----------------------+
    |                   1.0 |
    +-----------------------+

LOG

log(x)
log(x, y)            
  • 説明:

    • x引数のみを指定した場合、この関数はxの自然対数を返します。

    • xとyの両方の引数が指定されている場合、この関数はyの対数を底のxに返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    • SELECT log(16);

      次の情報が返されます。

      +-------------------+
      | log(16)           |
      +-------------------+
      | 2.772588722239781 |
      +-------------------+
    • SELECT log(10,100);

      次の情報が返されます。

      +-------------+
      | log(10,100) |
      +-------------+
      |         2.0 |
      +-------------+

LOG2

log2(x)            
  • 説明: この関数は、引数の対数を底2に返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT log2(8.7654);

    次の情報が返されます。

    +-------------------+
    | log2(8.7654)      |
    +-------------------+
    | 3.131819928389146 |
    +-------------------+

LOG10

log10(x)            
  • 説明: この関数は、引数の対数を底10に返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT log10(100.876);

    次の情報が返されます。

    +--------------------+
    | log10(100.876)     |
    +--------------------+
    | 2.0037878529824615 |
    +--------------------+

PI

pi()
  • 説明: この関数はpiの値を返します。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT pi();

    次の情報が返されます。

    +-------------------+
    | pi()              |
    +-------------------+
    | 3.141592653589793 |
    +-------------------+

力または捕虜

power(x, y)
pow(x, y)
  • 説明: この関数は、xの値をyの累乗で返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    • SELECT power(1.2,3.4);

      次の情報が返されます。

      +-------------------+
      | power(1.2,3.4)    |
      +-------------------+
      | 1.858729691979481 |
      +-------------------+
    • SELECT pow(-2,-3);

      次の情報が返されます。

      +------------+
      | pow(-2,-3) |
      +------------+
      |     -0.125 |
      +------------+

RADIANS

radians(x)            
  • 説明: この関数は度をラジアンに変換します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT radians(60.0);

    次の情報が返されます。

    +--------------------+
    | radians(60.0)      |
    +--------------------+
    | 1.0471975511965976 |
    +--------------------+

RAND

rand()
rand()*(y-x)+x
  • 説明: この関数は、指定した数値範囲内の乱数を返します。 rand() 関数の入力引数は指定できません。 rand() 関数は、0以上1未満の数値をランダムに返します。

    rand()*(y-x)+ x関数を使用することもできます。 この関数は、xからyの範囲内の数値をランダムに返します。 返される数値は、x以上y未満です。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    • SELECT rand();

      次の情報が返されます。

      +--------------------+
      | rand()             |
      +--------------------+
      | 0.6613712594764614 |
      +--------------------+
    • 次のサンプルステートメントは、3〜12の範囲内の浮動小数点数を返します。

      SELECT rand()*(12-3)+3;

      次の情報が返されます。

      +-------------------+
      | rand()*(12-3)+3   |
      +-------------------+
      | 9.073329270781976 |
      +-------------------+

ROUND

round(x)
round(x,d)
  • 説明: この関数は、xの丸め値を返します。 dは小数点以下の桁数を指定します。 dのデフォルト値は0です。 戻り値のデータ型はxと同じです。

    • xnullの場合、NULLが返されます。

    • dが0より大きい場合、引数は指定された小数点以下の桁数に丸められます。

    • dが0に等しい場合、引数は最も近い整数に丸められます。

    • dが0未満の場合、引数は小数点の左にある指定された小数点数に丸められます。

  • 入力値のデータ型: TINYINT、SMALLINT、INT、BIGINT、DOUBLE、FLOAT、またはDECIMAL。

  • 戻り値のデータ型:

    • 入力値のデータ型がTINYINT, SMALLINT, INT, またはBIGINTの場合, 戻り値のデータ型はBIGINTとなります。

    • 入力値のデータ型がDOUBLEまたはFLOATの場合、戻り値のデータ型はDOUBLEです。

    • 入力値のデータ型がDECIMALの場合、戻り値のデータ型はDECIMALです。

  • 例:

    • 次のサンプル文は、345.983を最も近い整数に丸めます。

      SELECT round(345.983,0);

      次の情報が返されます。

      +------------------+
      | round(345.983,0) |
      +------------------+
      |          346.000 |
      +------------------+
    • 次のサンプル文は、小数点以下1桁まで345.123を丸めます。

      SELECT round(345.123,1);

      次の情報が返されます。

      +------------------+
      | round(345.123,1) |
      +------------------+
      |          345.100 |
      +------------------+
    • 次のサンプルステートメントでは、小数点の左に345.984を小数点1桁まで丸めます。

      SELECT round(344.984,-1);                  

      次の情報が返されます。

      +-------------------+
      | round(344.984,-1) |
      +-------------------+
      |           340.000 |
      +-------------------+
    • 次のサンプル文は、小数点の左に小数点以下4桁の345.984を丸めます。

      SELECT round(345.984,-4);                  

      次の情報が返されます。

      +-------------------+
      | round(345.984,-4) |
      +-------------------+
      |             0.000 |
      +-------------------+

SIGN

sign(x)
  • 説明: この関数は、xの符号を示す値を返します。

    • xが0より大きい場合、1が返されます。

    • xが0に等しい場合、0が返されます。

    • xが0未満の場合、-1が返されます。

  • 入力値のデータ型: TINYINT、SMALLINT、INT、BIGINT、DOUBLE、FLOAT、またはDECIMAL。

  • 戻り値のデータ型: BIGINT。

  • 例:

    • SELECT sign(12);

      次の情報が返されます。

      +----------+
      | sign(12) |
      +----------+
      |        1 |
      +----------+
    • SELECT sign(-4.5);

      次の情報が返されます。

      +------------+
      | sign(-4.5) |
      +------------+
      |         -1 |
      +------------+

SIN

sin(x)            
  • 説明: この関数はxの正弦を返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT sin(1.234);

    次の情報が返されます。

    +--------------------+
    | sin(1.234)         |
    +--------------------+
    | 0.9438182093746337 |
    +--------------------+

SQRT

sqrt(x)
  • 説明: この関数はxの平方根を返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT sqrt(4.222);

    次の情報が返されます。

    +-------------------+
    | sqrt(4.222)       |
    +-------------------+
    | 2.054750593137766 |
    +-------------------+

TAN

tan(x)            
  • 説明: この関数は、xのタンジェントを返します。

  • 入力値のデータ型: DOUBLE。

  • 戻り値のデータ型: DOUBLE。

  • 例:

    SELECT tan(8);

    次の情報が返されます。

    +--------------------+
    | tan(8)             |
    +--------------------+
    | -6.799711455220379 |
    +--------------------+