Appendix
Data Types
| type | examples |
|---|---|
| NULL | NULL |
| INTEGER | 1, -1, 1234567 |
| FLOAT | 2.3, -3.56, 232.4 |
| NUMERIC | 1, 2.3 |
| BOOLEAN | TRUE, FALSE |
| BYTEA | ‘0xaa0xbb’ |
| STRING | “deadbeef” |
| DATE | DATE 2020-06-10 |
| TIME | TIME 11:18:30 |
| TIMESTAMP | TIMESTAMP 2022-01-01 T 12:00:00 +08:00 |
| INTERVAL | INTERVAL 00:00:10 |
| JSON | {“a”: 1, “b”: 2} |
| ARRAY | [1, 2, 3] |
| MAP | {1: “aa”, 2: “bb”} |
Keywords
| keyword | description |
|---|---|
ABS |
absolute value |
ACOS |
arccosine |
ACOSH |
inverse hyperbolic cosine |
AND |
logical and operator |
ARRAY_CONTAIN |
given an array, checks if a search value is contained in the array |
ARRAY_DISTINCT |
returns an array of all the distinct values |
ARRAY_EXCEPT |
ARRAY_DISTINCT except for those also present in the second array |
ARRAY_INTERSECT |
returns an array of all the distinct elements from the intersection of both input arrays |
ARRAY_JOIN |
creates a flat string representation of all elements contained in the given array |
ARRAY_LENGTH |
return the length of the given array |
ARRAY_MAX |
returns the maximum value from the given array of primitive elements |
ARRAY_MIN |
returns the minimum value from the given array of primitive elements |
ARRAY_REMOVE |
removes all elements from the input array equal to the second argument |
ARRAY_SORT |
sort the given array |
ARRAY_UNION |
returns an array of all the distinct elements from the union of both input arrays |
AS |
stream or field name alias |
ASIN |
arcsine |
ASINH |
inverse hyperbolic sine |
ATAN |
arctangent |
ATANH |
inverse hyperbolic tangent |
AVG |
average function |
BETWEEN |
range operator, used with AND |
BY |
do something by certain conditions, used with GROUP or ORDER |
CEIL |
rounds a number UPWARDS to the nearest integer |
COS |
cosine |
COSH |
hyperbolic cosine |
COUNT |
count function |
CREATE |
create a stream / connector |
DATE |
prefix of date constant |
DAY |
interval unit |
DROP |
drop a stream |
EXP |
exponent |
FLOOR |
rounds a number DOWNWARDS to the nearest integer |
FROM |
specify where to select data from |
GROUP |
group values by certain conditions, used with BY |
HAVING |
filter select values by a condition |
HOPPING |
hopping window |
IFNULL |
if the first argument is NULL returns the second, else the first |
INSERT |
insert data into a stream, used with INTO |
INTERVAL |
prefix of interval constant |
INTO |
insert data into a stream, used with INSERT |
IS_ARRAY |
to determine if the given value is an array of values |
IS_BOOL |
to determine if the given value is a boolean |
IS_DATE |
to determine if the given value is a date value |
IS_FLOAT |
to determine if the given value is a float |
IS_INT |
to determine if the given value is an integer |
IS_MAP |
to determine if the given value is a map of values |
IS_NUM |
to determine if the given value is a number |
IS_STR |
to determine if the given value is a string |
IS_TIME |
to determine if the given value is a time value |
JOIN |
for joining two streams |
LEFT |
joining type, used with JOIN |
LEFT_TRIM |
trim spaces from the left end of a string |
LOG |
logarithm with base e |
LOG10 |
logarithm with base 10 |
LOG2 |
logarithm with base 2 |
MAX |
maximum function |
MIN |
minimum function |
MINUTE |
interval unit |
MONTH |
interval unit |
NOT |
logical not operator |
NULLIF |
returns NULL if the first argument is equal to the second, otherwise the first |
OR |
logical or operator |
ORDER |
sort values by certain conditions, used with BY |
OUTER |
joining type, used with JOIN |
REVERSE |
reverse a string |
RIGHT_TRIM |
trim spaces from the right end of a string |
ROUND |
rounds a number to the nearest integer |
SECOND |
interval unit |
SELECT |
query a stream |
SHOW |
show something to stdout |
SIGN |
return the sign of a numeric value as an INTEGER |
SIN |
sine |
SINH |
hyperbolic sine |
SLIDING |
sliding window |
SQRT |
square root |
STREAM |
specify a stream, used with CREATE |
STRLEN |
get the length of a string |
SUM |
sum function |
TAN |
tangent |
TANH |
hyperbolic tangent |
TIME |
prefix of the time constant |
TO_LOWER |
convert a string to lowercase |
TO_STR |
convert a value to string |
TO_UPPER |
convert a string to uppercase |
TRIM |
trim spaces from both ends of a string |
TUMBLING |
tumbling window |
VALUES |
specify inserted data, used with INSERT INTO |
WEEK |
interval unit |
WHERE |
filter selected values by a condition |
WITH |
specify properties when creating a stream |
WITHIN |
specify time window when joining two streams |
YEAR |
interval unit |
Operators
| operator | description |
|---|---|
= |
equal to |
<> |
not equal to |
< |
less than |
> |
greater than |
<= |
less than or equal to |
>= |
greater than or equal to |
+ |
addition |
- |
subtraction |
* |
multiplication |
. |
access field of a stream |
[] |
access item of an array |
=> |
access item of a map |
AND |
logical and operator |
OR |
logical or operator |
:: |
type casting |
-> |
JSON access(as JSON) by key |
->> |
JSON access(as text) by key |
#> |
JSON access(as JSON) by path |
#>> |
JSON access(as text) by path |
Scalar Functions
| function | description |
|---|---|
ABS |
absolute value |
ACOS |
arccosine |
ACOSH |
inverse hyperbolic cosine |
ARRAY_CONTAIN |
given an array, checks if a search value is contained in the array |
ARRAY_DISTINCT |
returns an array of all the distinct values |
ARRAY_EXCEPT |
ARRAY_DISTINCT except for those also present in the second array |
ARRAY_INTERSECT |
returns an array of all the distinct elements from the intersection of both input arrays |
ARRAY_JOIN |
creates a flat string representation of all elements contained in the given array |
ARRAY_LENGTH |
return the length of the given array |
ARRAY_MAX |
returns the maximum value from the given array of primitive elements |
ARRAY_MIN |
returns the minimum value from the given array of primitive elements |
ARRAY_REMOVE |
removes all elements from the input array equal to the second argument |
ARRAY_SORT |
sort the given array |
ARRAY_UNION |
returns an array of all the distinct elements from the union of both input arrays |
ASIN |
arcsine |
ASINH |
inverse hyperbolic sine |
ATAN |
arctangent |
ATANH |
inverse hyperbolic tangent |
CEIL |
rounds a number UPWARDS to the nearest integer |
COS |
cosine |
COSH |
hyperbolic cosine |
EXP |
exponent |
FLOOR |
rounds a number DOWNWARDS to the nearest integer |
IFNULL |
if the first argument is NULL returns the second, else the first |
NULLIF |
returns NULL if the first argument is equal to the second, otherwise the first |
IS_ARRAY |
to determine if the given value is an array of values |
IS_BOOL |
to determine if the given value is a boolean |
IS_DATE |
to determine if the given value is a date value |
IS_FLOAT |
to determine if the given value is a float |
IS_INT |
to determine if the given value is an integer |
IS_MAP |
to determine if the given value is a map of values |
IS_NUM |
to determine if the given value is a number |
IS_STR |
to determine if the given value is a string |
IS_TIME |
to determine if the given value is a time value |
LEFT_TRIM |
trim spaces from the left end of a string |
LOG |
logarithm with base e |
LOG10 |
logarithm with base 10 |
LOG2 |
logarithm with base 2 |
REVERSE |
reverse a string |
RIGHT_TRIM |
trim spaces from the right end of a string |
ROUND |
rounds a number to the nearest integer |
SIGN |
return the sign of a numeric value as an INTEGER |
SIN |
sine |
SINH |
hyperbolic sine |
SQRT |
square root |
STRLEN |
get the length of a string |
TAN |
tangent |
TANH |
hyperbolic tangent |
TO_LOWER |
convert a string to lowercase |
TO_STR |
convert a value to string |
TO_UPPER |
convert a string to uppercase |
TOPK |
topk aggregate function |
TOPKDISTINCT |
topkdistinct aggregate function |
TRIM |
trim spaces from both ends of a string |
Aggregate Functions
| function | description |
|---|---|
AVG |
average |
COUNT |
count |
MAX |
maximum |
MIN |
minimum |
SUM |
sum |
TOPK |
top k values as array |
TOPKDISTINCT |
distinct top k values as array |
