Yandex.Cloud
  • Services
  • Why Yandex.Cloud
  • Pricing
  • Documentation
  • Contact us
Get started
Yandex Database
  • Getting started
    • Overview
    • Create databases
    • Examples of YQL queries
    • Examples of operations in the YDB CLI
    • Launch a test app
    • Document API
    • Developing in NodeJS through the Document API
  • Step-by-step instructions
    • Database management
    • How to connect to a database
    • Table management
    • Reading and writing data
    • Working with secondary indexes
  • Working with the SDK
  • Concepts
    • Overview
    • Data model and schema
    • Serverless and Dedicated operation modes
    • Data types
    • Transactions
    • Secondary indexes
    • Time to Live (TTL)
    • Terms and definitions
    • Quotas and limits
  • Access management
  • Pricing policy
    • Overview
    • Serverless mode
    • Dedicated mode
  • Recommendations
    • Schema design
    • Partitioning tables
    • Secondary indexes
    • Paginated output
    • Loading large data volumes
    • Using timeouts
  • YDB API and API reference
    • Database limits
    • Handling errors in the API
  • Amazon DynamoDB-compatible HTTP API
    • API reference
      • All methods
      • Actions
        • BatchGetItem
        • BatchWriteItem
        • CreateTable
        • DeleteItem
        • DeleteTable
        • DescribeTable
        • GetItem
        • ListTables
        • PutItem
        • Query
        • Scan
        • TransactGetItems
        • TransactWriteItems
        • UpdateItem
      • Common errors
  • YQL reference guide
    • Overview
    • Data types
      • Simple
      • Optional
      • Containers
      • Special
    • Syntax
      • Unsupported statements
      • For text representation of data types
      • Expressions
      • CREATE TABLE
      • DROP TABLE
      • INSERT INTO
      • UPSERT INTO
      • REPLACE INTO
      • UPDATE
      • DELETE
      • SELECT
      • GROUP BY
      • JOIN
      • FLATTEN
      • ACTION
      • DISCARD
      • PRAGMA
      • DECLARE
      • OVER, PARTITION BY, and WINDOW
    • Built-in functions
      • Basic
      • Aggregate
      • Window
      • For lists
      • For dictionaries
      • For JSON
      • For structures
      • For types
    • Preset user-defined functions
      • HyperScan
      • Pcre
      • Pire
      • Re2
      • String
      • Unicode
      • Datetime
      • Url
      • Ip
      • Digest
      • Math
      • Histogram
    • For text representation of data types
  • YQL tutorial
    • Overview
    • Creating a table
    • Adding data to a table
    • Selecting data from all columns
    • Selecting data from specific columns
    • Sorting and filtering
    • Data aggregation
    • Additional selection criteria
    • Joining tables by JOIN
    • Data insert and update by REPLACE
    • Data insert and update by UPSERT
    • Data insert by INSERT
    • Data update by UPDATE
    • Deleting data
    • Adding and deleting columns
    • Deleting a table
  • Maintenance
    • Backups
  • Diagnostics
    • System views
  • Questions and answers
    • General questions
    • Errors
    • YQL
    • All questions on the same page
  • Public materials
  1. YQL reference guide
  2. Preset user-defined functions
  3. Math

Math UDF

  • Constants
  • (Double) -> Bool
  • (Double) -> Double
  • (Double, Int32) -> Double
  • (Double, Double, [Double?]) -> Bool

Set of wrappers around the functions from the LIBM library.

Constants

List of functions

  • Math::Pi() -> Double
  • Math::E() -> Double

Examples

SELECT Math::Pi(); -- 3.141592654
SELECT Math::E();  -- 2.718281828

(Double) -> Bool

List of functions

  • Math::IsInf(Double{Flags:AutoMap}) -> Bool
  • Math::IsNaN(Double{Flags:AutoMap}) -> Bool
  • Math::IsFinite(Double{Flags:AutoMap}) -> Bool

Examples

SELECT Math::IsNaN(0.0/0.0);    -- true
SELECT Math::IsFinite(1.0/0.0); -- false

(Double) -> Double

List of functions

  • Math::Abs(Double{Flags:AutoMap}) -> Double
  • Math::Acos(Double{Flags:AutoMap}) -> Double
  • Math::Asin(Double{Flags:AutoMap}) -> Double
  • Math::Asinh(Double{Flags:AutoMap}) -> Double
  • Math::Atan(Double{Flags:AutoMap}) -> Double
  • Math::Cbrt(Double{Flags:AutoMap}) -> Double
  • Math::Ceil(Double{Flags:AutoMap}) -> Double
  • Math::Cos(Double{Flags:AutoMap}) -> Double
  • Math::Cosh(Double{Flags:AutoMap}) -> Double
  • Math::Erf(Double{Flags:AutoMap}) -> Double
  • Math::Exp(Double{Flags:AutoMap}) -> Double
  • Math::Exp2(Double{Flags:AutoMap}) -> Double
  • Math::Fabs(Double{Flags:AutoMap}) -> Double
  • Math::Floor(Double{Flags:AutoMap}) -> Double
  • Math::Lgamma(Double{Flags:AutoMap}) -> Double
  • Math::Rint(Double{Flags:AutoMap}) -> Double
  • Math::Sigmoid(Double{Flags:AutoMap}) -> Double
  • Math::Sin(Double{Flags:AutoMap}) -> Double
  • Math::Sinh(Double{Flags:AutoMap}) -> Double
  • Math::Sqrt(Double{Flags:AutoMap}) -> Double
  • Math::Tan(Double{Flags:AutoMap}) -> Double
  • Math::Tanh(Double{Flags:AutoMap}) -> Double
  • Math::Tgamma(Double{Flags:AutoMap}) -> Double
  • Math::Trunc(Double{Flags:AutoMap}) -> Double
  • Math::Log(Double{Flags:AutoMap}) -> Double
  • Math::Log2(Double{Flags:AutoMap}) -> Double
  • Math::Log10(Double{Flags:AutoMap}) -> Double

Examples

SELECT Math::Sqrt(256);     -- 16
SELECT Math::Trunc(1.2345); -- 1

(Double, Double) -> Double

List of functions

  • Math::Atan2(Double{Flags:AutoMap}, Double{Flags:AutoMap}) -> Double
  • Math::Fmod(Double{Flags:AutoMap}, Double{Flags:AutoMap}) -> Double
  • Math::Hypot(Double{Flags:AutoMap}, Double{Flags:AutoMap}) -> Double
  • Math::Pow(Double{Flags:AutoMap}, Double{Flags:AutoMap}) -> Double
  • Math::Remainder(Double{Flags:AutoMap}, Double{Flags:AutoMap}) -> Double

Examples

SELECT Math::Atan2(1, 0);       -- 1.570796327
SELECT Math::Remainder(2.1, 2); -- 0.1

(Double, Int32) -> Double

List of functions

  • Math::Ldexp(Double{Flags:AutoMap}, Int32{Flags:AutoMap}) -> Double
  • Math::Round(Double{Flags:AutoMap}, [Int32?]) -> Double
    Во втором аргументе указывается степень 10, до которой округляем (отрицательная для знаков после запятой и положительная для округления до десятков—тысяч—миллионов); по умолчанию 0.

Examples

SELECT Math::Pow(2, 10);        -- 1024
SELECT Math::Round(1.2345, -2); -- 1.23

(Double, Double, [Double?]) -> Bool

List of functions

  • Math::FuzzyEquals(Double{Flags:AutoMap}, Double{Flags:AutoMap}, [Double?]) -> Bool
    Сравнивает два Double на нахождение внутри окрестности, задаваемой третьим аргументом; по умолчанию 1.0e-13.

Examples

SELECT Math::FuzzyEquals(1.01, 1.0, 0.05); -- true
In this article:
  • Constants
  • (Double) -> Bool
  • (Double) -> Double
  • (Double, Int32) -> Double
  • (Double, Double, [Double?]) -> Bool
Language
Careers
Privacy policy
Terms of use
© 2021 Yandex.Cloud LLC