Scalar functions
absabs(number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
acos(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
acosh(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
add_months(date, integer)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | date, integer | scalar | pure |
array(value, ...)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 0–4096 | any | scalar | pure |
array_concat(array, array, ...)
array_cat.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2–64 | array, array | scalar | pure |
array_contains(array, value)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | array, any | scalar | pure |
array_distinct(array)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | array | scalar | pure |
array_except(array, array)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | array, array | scalar | pure |
array_intersect(array, array)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | array, array | scalar | pure |
array_join(array, separator [, null_replacement])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | array, text | scalar | pure |
| 3 | array, text, text | scalar | pure |
array_max(array)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | array | scalar | pure |
array_min(array)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | array | scalar | pure |
array_position(array, value)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | array, any | scalar | pure |
array_remove(array, value)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | array, any | scalar | pure |
array_repeat(value, integer_count)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | any, integer | scalar | pure |
array_reverse(array)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | array | scalar | pure |
array_sort(array)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | array | scalar | pure |
array_union(array, array)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | array, array | scalar | pure |
arrays_overlap(array, array)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | array, array | scalar | pure |
asin(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
asinh(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
atan(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
atan2(double_y, double_x)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | scalar | pure |
atanh(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
base64(text_or_binary); unchunked standard alphabet
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
| 1 | binary | scalar | pure |
bround(number [, integer_scale])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
| 2 | numeric, integer | scalar | pure |
cardinality(array)
array_length, array_size, size.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | array | scalar | pure |
cbrt(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
ceil(number)
ceiling.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
coalesce(value, value, ...)
ifnull, nvl.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2–64 | any, any | scalar | pure |
concat(text, text, ...)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2–64 | text, text | scalar | pure |
concat_ws(separator, text, ...)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2–64 | text, text | scalar | pure |
contains(text, substring)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text | scalar | pure |
cos(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
cosh(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
crc32(text_or_bytes)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text_or_binary | scalar | pure |
current_date()
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 0 | none | scalar | captured_context |
current_timestamp()
now.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 0 | none | scalar | captured_context |
date_add(date, integer)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | date, integer | scalar | pure |
date_format(date_or_timestamp, format [, constant_timezone])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | temporal, text | scalar | pure |
| 3 | temporal, text, text (constant) | scalar | pure |
date_sub(date, integer)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | date, integer | scalar | pure |
date_trunc(constant_unit, timestamp [, constant_timezone])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text (constant), timestamp | scalar | pure |
| 3 | text (constant), timestamp, text (constant) | scalar | pure |
datediff(end_date, start_date)
date_diff.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text | scalar | pure |
day(date)
dayofmonth.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | date | scalar | pure |
dayofweek(date)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | date | scalar | pure |
dayofyear(date)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | date | scalar | pure |
degrees(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
e()
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 0 | none | scalar | pure |
ends_with(text, suffix)
endswith.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text | scalar | pure |
exp(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
expm1(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
flatten(array_of_arrays)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | array | scalar | pure |
floor(number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
format_timestamp(timestamp, constant_format [, constant_timezone])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | timestamp, text (constant) | scalar | pure |
| 3 | timestamp, text (constant), text (constant) | scalar | pure |
from_json(text, constant_sql_container_schema)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text (constant) | scalar | pure |
get(array, zero_based_index)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | array, integer | scalar | pure |
get_json_object(text, constant_json_path)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text (constant) | scalar | pure |
greatest(value, value, ...)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2–16 | any, any | scalar | pure |
hex(text_or_binary_or_integral); uppercase UTF-8 bytes or Int64 two's complement
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
| 1 | binary | scalar | pure |
| 1 | integer | scalar | pure |
hour(timestamp)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | timestamp | scalar | pure |
if(boolean, then_value, else_value)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 3 | boolean, any, any | scalar | pure |
initcap(text)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
instr(text, substring)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text | scalar | pure |
json_array_length(json)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
json_at(json, constant_pointer)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text (constant) | scalar | pure |
json_extract_path_text(json, key, ...)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2–33 | text, any | scalar | pure |
json_object_keys(json)
json_keys.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
last_day(date)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | date | scalar | pure |
least(value, value, ...)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2–16 | any, any | scalar | pure |
left(text, length)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, integer | scalar | pure |
length(text)
char_length, character_length, len.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
ln(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
locate(substring, text [, start])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text | scalar | pure |
| 3 | text, text, integer | scalar | pure |
log(double) or log(double_base, double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
| 2 | numeric, numeric | scalar | pure |
log10(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
log1p(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
log2(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
lower(text)
lcase.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
lpad(text_or_bytes, integer_length [, same_domain_pad])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text_or_binary, integer | scalar | pure |
| 3 | text_or_binary, integer, same_as_first | scalar | pure |
ltrim(text)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
map(text_key, value, ...)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2–128, step 2 | text, any | scalar | pure |
map_at(map, text_key)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | map, text | scalar | pure |
map_from_arrays(keys, values)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | array, array | scalar | pure |
map_keys(map)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | map | scalar | pure |
map_values(map)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | map | scalar | pure |
md5(text_or_bytes)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text_or_binary | scalar | pure |
minute(timestamp)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | timestamp | scalar | pure |
mod(number, number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | scalar | pure |
month(date)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | date | scalar | pure |
months_between(end_date_or_timestamp, start_date_or_timestamp [, constant_round_off [, constant_timezone]])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | temporal, temporal | scalar | pure |
| 3 | temporal, temporal, boolean (constant) | scalar | pure |
| 4 | temporal, temporal, boolean (constant), text (constant) | scalar | pure |
next_day(date, constant_weekday)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | date, text (constant) | scalar | pure |
nullif(value, value)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | any, any | scalar | pure |
nvl2(value, present_value, null_value)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 3 | any, any, any | scalar | pure |
parse_timestamp(text [, constant_format [, constant_timezone]])
to_timestamp.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
| 2 | text, text (constant) | scalar | pure |
| 3 | text, text (constant), text (constant) | scalar | pure |
pi()
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 0 | none | scalar | pure |
position(substring IN text)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text | scalar | pure |
power(number, exponent)
pow.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | scalar | pure |
quarter(date)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | date | scalar | pure |
radians(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
regexp_count(text, pattern)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text | scalar | pure |
regexp_extract(text, pattern [, group])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text | scalar | pure |
| 3 | text, text, integer | scalar | pure |
regexp_extract_all(text, pattern [, group])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text | scalar | pure |
| 3 | text, text, integer | scalar | pure |
regexp_like(text, pattern)
regexp, rlike.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text | scalar | pure |
regexp_replace(text, pattern, replacement)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 3 | text, text, text | scalar | pure |
repeat(text, integer_count)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, integer | scalar | pure |
replace(text, search, replacement)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 3 | text, text, text | scalar | pure |
reverse(text)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
right(text, length)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, integer | scalar | pure |
round(number [, integer_scale])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
| 2 | numeric, integer | scalar | pure |
rpad(text_or_bytes, integer_length [, same_domain_pad])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text_or_binary, integer | scalar | pure |
| 3 | text_or_binary, integer, same_as_first | scalar | pure |
rtrim(text)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
second(timestamp)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | timestamp | scalar | pure |
sequence(integer_start, integer_end [, integer_step])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | integer, integer | scalar | pure |
| 3 | integer, integer, integer | scalar | pure |
sha1(text_or_bytes)
sha.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text_or_binary | scalar | pure |
sha2(text_or_bytes, constant_bits_0_224_256_384_512)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text_or_binary, integer (constant) | scalar | pure |
sha224(text_or_bytes)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text_or_binary | scalar | pure |
sha256(text_or_bytes)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text_or_binary | scalar | pure |
sha384(text_or_bytes)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text_or_binary | scalar | pure |
sha512(text_or_bytes)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text_or_binary | scalar | pure |
sign(number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
sin(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
sinh(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
slice(array, one_based_start, length)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 3 | array, integer, integer | scalar | pure |
sort_array(array [, boolean_ascending])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | array | scalar | pure |
| 2 | array, boolean | scalar | pure |
split(text, constant_separator)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text (constant) | scalar | pure |
split_part(text, constant_separator, nonzero_position)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 3 | text, text (constant), integer | scalar | pure |
sqrt(number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
st_area(geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | geometry | scalar | pure |
st_boundary(geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | geometry | scalar | pure |
st_buffer(geometry, metres)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, numeric | scalar | pure |
st_centroid(geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | geometry | scalar | pure |
st_contains(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_convexhull(geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | geometry | scalar | pure |
st_coveredby(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_covers(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_crosses(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_difference(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_disjoint(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_distance(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_equals(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_intersection(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_intersects(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_length(geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | geometry | scalar | pure |
st_overlaps(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_perimeter(geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | geometry | scalar | pure |
st_simplify(geometry, metres)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, numeric | scalar | pure |
st_symdifference(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_touches(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_union(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
st_within(geometry, geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | geometry, geometry | scalar | pure |
starts_with(text, prefix)
startswith.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text | scalar | pure |
struct(value, ...)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1–64 | any | scalar | pure |
substring(text, start [, length])
substr.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, integer | scalar | pure |
| 3 | text, integer, integer | scalar | pure |
tan(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
tanh(double)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | scalar | pure |
timestamp_micros(integer)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | integer | scalar | pure |
timestamp_millis(integer)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | integer | scalar | pure |
timestamp_seconds(integer)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | integer | scalar | pure |
to_date(value [, constant_timezone])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | any | scalar | pure |
| 2 | any, text (constant) | scalar | pure |
to_json(struct_array_or_map)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | container | scalar | pure |
trim(text)
btrim.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
try_json_at(json, constant_pointer)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | text, text (constant) | scalar | pure |
try_parse_timestamp(text [, constant_format [, constant_timezone]])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
| 2 | text, text (constant) | scalar | pure |
| 3 | text, text (constant), text (constant) | scalar | pure |
unbase64(text); Java MIME alphabet and padding rules
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
unhex(text); odd lengths receive a leading zero nibble, malformed hex returns null
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
unix_micros(timestamp)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | timestamp | scalar | pure |
unix_millis(timestamp)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | timestamp | scalar | pure |
unix_seconds(timestamp)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | timestamp | scalar | pure |
upper(text)
ucase.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | text | scalar | pure |
weekday(date)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | date | scalar | pure |
weekofyear(date)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | date | scalar | pure |
xxhash64(typed_scalar_or_array [, typed_scalar_or_array, ...]); seed 42, nulls skipped
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1–64 | array, array, text | scalar | pure |
year(date)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | date | scalar | pure |
Aggregate functions
approx_count_distinctapprox_count_distinct(value [, constant_rsd=0.05]); exact bounded count, error 0; or approx_count_distinct(value, relative_error, confidence) returning estimate and accuracy evidence
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | any | group, window | exact_bounded_fallback |
| 2 | any, numeric (constant) | group, window | exact_bounded_fallback |
| 3 | any, numeric (constant), numeric (constant) | group | explicit_evidence |
approx_percentile(value, constant_fraction_or_array [, constant_accuracy=10000]); exact bounded nearest-rank fallback; or approx_percentile(number, fraction, rank_error, confidence) returning estimate and accuracy evidence
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | any, numeric_or_array (constant) | group, window | exact_bounded_fallback |
| 3 | any, numeric_or_array (constant), integer (constant) | group, window | exact_bounded_fallback |
| 4 | numeric, numeric (constant), numeric (constant), numeric (constant) | group | explicit_evidence |
array_agg([DISTINCT] value [ORDER BY expression])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | any | group, window | pure |
avg([DISTINCT] number)
mean.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | group, window | pure |
bit_and([DISTINCT] integral) [FILTER (WHERE predicate)] [OVER window]
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | integer | group, window | pure |
bit_or([DISTINCT] integral) [FILTER (WHERE predicate)] [OVER window]
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | integer | group, window | pure |
bit_xor([DISTINCT] integral) [FILTER (WHERE predicate)] [OVER window]
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | integer | group, window | pure |
bool_and(boolean)
every.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | boolean | group | pure |
bool_or(boolean)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | boolean | group | pure |
collect_list(value)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | any | group, window | pure |
collect_set(value)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | any | group, window | pure |
corr([DISTINCT] number, number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
count() or count(*) or count([DISTINCT] value [, value, ...])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 0–64 | any | group, window | pure |
count_if(boolean)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | boolean | group, window | pure |
covar_pop([DISTINCT] number, number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
covar_samp([DISTINCT] number, number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
first(value [, nonnull_boolean_ignore_nulls] [ORDER BY keys]) [FILTER (WHERE predicate)] [OVER window]
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1–2 | any, boolean | group, window | pure |
geometry_union(geometry)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | geometry | group | pure |
grouping(grouping_expression, ...)
grouping_id.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1–64 | text | grouping | pure |
last(value [, nonnull_boolean_ignore_nulls] [ORDER BY keys]) [FILTER (WHERE predicate)] [OVER window]
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1–2 | any, boolean | group, window | pure |
max(value)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | any | group, window | pure |
max_by(value, key)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | any, any | group | pure |
min(value)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | any | group, window | pure |
min_by(value, key)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | any, any | group | pure |
percentile([DISTINCT] number, constant_fraction_or_array [, integral_frequency=1]) [FILTER (WHERE predicate)] [OVER window]
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric_or_array (constant) | group, window | pure |
| 3 | numeric, numeric_or_array (constant), integer | group, window | pure |
percentile_approx(value, constant_fraction_or_array [, constant_accuracy=10000]); exact bounded nearest-rank fallback, rank error 0
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | any, numeric_or_array (constant) | group, window | exact_bounded_fallback |
| 3 | any, numeric_or_array (constant), integer (constant) | group, window | exact_bounded_fallback |
percentile_cont(fraction) WITHIN GROUP (ORDER BY number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric (constant) | group | pure |
percentile_disc(fraction) WITHIN GROUP (ORDER BY value)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric (constant) | group | pure |
regr_avgx([DISTINCT] dependent_y, independent_x)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
regr_avgy([DISTINCT] dependent_y, independent_x)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
regr_count([DISTINCT] dependent_y, independent_x)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
regr_intercept([DISTINCT] dependent_y, independent_x)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
regr_r2([DISTINCT] dependent_y, independent_x)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
regr_slope([DISTINCT] dependent_y, independent_x)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
regr_sxx([DISTINCT] dependent_y, independent_x)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
regr_sxy([DISTINCT] dependent_y, independent_x)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
regr_syy([DISTINCT] dependent_y, independent_x)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | numeric, numeric | group, window | pure |
skewness([DISTINCT] number) [FILTER (WHERE predicate)] [OVER window]
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | group, window | pure |
stddev_pop([DISTINCT] number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | group, window | pure |
stddev_samp([DISTINCT] number)
stddev.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | group, window | pure |
sum([DISTINCT] number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | group, window | pure |
var_pop([DISTINCT] number)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | group, window | pure |
var_samp([DISTINCT] number)
variance.
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | numeric | group, window | pure |
Window functions
cume_distcume_dist() OVER window
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 0 | none | window | pure |
dense_rank() OVER window
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 0 | none | window | pure |
first_value(value) OVER window
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | any | window | pure |
lag(value [, integer_offset [, default]]) OVER window
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | any | window | pure |
| 2 | any, integer | window | pure |
| 3 | any, integer, any | window | pure |
last_value(value) OVER window
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | any | window | pure |
lead(value [, integer_offset [, default]]) OVER window
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | any | window | pure |
| 2 | any, integer | window | pure |
| 3 | any, integer, any | window | pure |
nth_value(value, integer_position) OVER window
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | any, integer | window | pure |
ntile(integer_buckets) OVER window
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | integer | window | pure |
percent_rank() OVER window
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 0 | none | window | pure |
rank() OVER window
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 0 | none | window | pure |
row_number() OVER window
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 0 | none | window | pure |
Table functions
generate_seriesgenerate_series(integer_start, integer_stop [, integer_step])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 2 | integer, integer | table | pure |
| 3 | integer, integer, integer | table | pure |
range([integer_start,] integer_stop [, integer_step])
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | integer | table | pure |
| 2 | integer, integer | table | pure |
| 3 | integer, integer, integer | table | pure |
Generator functions
explodeexplode(array_or_map)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | collection | table, select_generator | pure |
explode_outer(array_or_map)
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | collection | table, select_generator | pure |
posexplode(array_or_map) -> pos, col | pos, key, value
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | collection | table, select_generator | pure |
posexplode_outer(array_or_map) -> pos, col | pos, key, value
| Arguments | Domains in order | Contexts | Evaluation |
|---|---|---|---|
| 1 | collection | table, select_generator | pure |