// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements.  See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License.  You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
= Supported Operators and Functions

== Aggregate Functions

=== AVG

[source,sql]
----
AVG( [ ALL | DISTINCT ] numeric)
----

Returns the average (arithmetic mean) of numeric across all input values.

=== COUNT

[source,sql]
----
COUNT( [ ALL | DISTINCT ] value [, value ]*)
----

Returns the number of input rows for which value is not null (wholly not null if value is composite).

=== MAX

[source,sql]
----
MAX( [ ALL | DISTINCT ] value)
----

Returns the maximum value across all input values.

=== MIN

[source,sql]
----
MIN( [ ALL | DISTINCT ] value)
----

Returns the minimum value across all input values.

=== SUM

[source,sql]
----
SUM( [ ALL | DISTINCT ] numeric)
----

Returns the sum of numeric across all input values.


== Functions

=== GENERAL

* CAST
* COALESCE
* GREATEST
* NULLIF
* NVL

For more information on functions supported by Apache Calcite, see the link:https://calcite.apache.org/docs/reference.html#operators-and-functions[product documentation,window=_blank].

=== JSON

* ASCII
* CHAR_LENGTH
* CHARACTER_LENGTH
* COMPRESS
* CONCAT
* FROM_BASE64
* INITCAP
* JSON_ARRAY
* JSON_EXISTS
* JSON_OBJECT
* JSON_PRETTY
* JSON_QUERY
* JSON_VALUE
* LEFT
* LOWER
* LTRIM
* MD5
* OVERLAY
* POSITION
* REGEXP_REPLACE
* REPEAT
* REVERSE
* RIGHT
* SHA1
* SOUNDEX
* SPACE
* STRCMP
* STRING
* SUBSTRING
* TO_BASE64
* TRANSLATE
* TRIM
* UPPER

For more information on functions supported by Apache Calcite, see the link:https://calcite.apache.org/docs/reference.html#operators-and-functions[product documentation,window=_blank].

=== NUMERIC

* ABS
* ACOS
* ASIN
* ATAN
* ATAN2
* CBRT
* CEIL
* CHR
* COS
* COSH
* COT
* DEGREES
* EXP
* FLOOR
* LN
* LOG10
* MOD
* PI()
* POWER
* RADIANS
* RAND
* ROUND
* SIGN
* SIN
* SINH
* SQRT
* TAN
* TANH
* TRUNCATE

For more information on functions supported by Apache Calcite, see the link:https://calcite.apache.org/docs/reference.html#operators-and-functions[product documentation,window=_blank].

=== TIMESTAMP

* EXTRACT
* LAST_DAY
* TIMESTAMP_ADD
* TIMESTAMP_DIFF