--- title: "Overview" slug: "dev-database-reference-sql-functions-index" updated: 2026-10-30T18:19:06Z published: 2026-10-30T18:19:06Z canonical: "docs.vastdata.com/dev-database-reference-sql-functions-index" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.vastdata.com/llms.txt > Use this file to discover all available pages before exploring further. # Overview *Applies to VAST Cluster 5.5.* The VAST Query Engine evaluates functions and operators in `SELECT` lists, `WHERE` clauses and `UPDATE ... SET`. A function on a column is computed in the Query Engine, after the scan; only comparisons of a column with a constant are evaluated in VAST DataBase ([where filters run](/develop/docs/dev-database-reference-sql-select#where-filters-run)). The pages for each family list the functions that run in the VAST Query Engine on VAST Cluster 5.5, with an entry for each: what it does, its arguments and result type, what it does with NULLs, and an example. Each page also says how its functions run and how to make queries that use them faster. For the aggregate and vector distance functions, see also [VAST Query Engine](/docs-5-5/docs/vast-query-engine) and [Vector Search](/docs-5-5/docs/vector-search). A function applied to a column is usually evaluated in the Query Engine, after VAST DataBase has read the rows. Some conditions are evaluated in VAST DataBase itself and skip rows before they're sent, such as a comparison of a column with a constant, a widening `CAST`, or a comparison on a struct field; [operators and predicates](/develop/docs/dev-database-reference-sql-functions-operators-and-predicates) has the full list. | Family | Covers | Page | | --- | --- | --- | | Aggregate and analytic | `count`, `sum`, `avg`, `min`, `max` and the other aggregates, `FILTER (WHERE ...)`, `row_number() OVER ()` | [Aggregate and analytic functions](/develop/docs/dev-database-reference-sql-functions-aggregate) | | String | Length, case, concatenation, substrings, replacing, formatting, similarity and paths | [Text basics](/develop/docs/dev-database-reference-sql-functions-string-text-basics) | | | Prefix, suffix and substring tests, `LIKE`, splitting strings | [Search and split](/develop/docs/dev-database-reference-sql-functions-string-search-and-split) | | | `trim`, `ltrim`, `rtrim`, `lpad`, `rpad` | [Trimming and padding](/develop/docs/dev-database-reference-sql-functions-string-trimming-and-padding) | | | `regexp_*` functions, `SIMILAR TO`, `~`, pattern syntax and options | [Regular expressions](/develop/docs/dev-database-reference-sql-functions-string-regular-expressions) | | Parsing and JSON | JSON text in `VARCHAR` columns: extract, paths, types, validity | [Parsing and JSON functions](/develop/docs/dev-database-reference-sql-functions-json) | | Date and time | `DATE`, `TIMESTAMP` and `INTERVAL` functions, and what fails without time zones | [Date and time functions](/develop/docs/dev-database-reference-sql-functions-date-time) | | Numeric and math | Rounding, arithmetic, math, bit counting and number formatting | [Numeric and math functions](/develop/docs/dev-database-reference-sql-functions-numeric) | | Conditional and conversion | `CAST`, `::`, `TRY_CAST`, `CASE`, `coalesce`, `nullif`, `greatest`, `least` | [Conditional and conversion functions](/develop/docs/dev-database-reference-sql-functions-conditional-and-cast) | | Lists, structs and maps | List functions and lambdas, list aggregates, struct access, maps, `unnest` | [List, struct and map functions](/develop/docs/dev-database-reference-sql-functions-lists-and-structs) | | Table functions | `range`, `generate_series`, `unnest` in `FROM`, and what replaces file readers | [Table functions](/develop/docs/dev-database-reference-sql-functions-table-functions) | | Binary, hash and UUID | Bit strings, `BLOB` data and encodings, hashes, UUIDs, enums | [Binary, hash and UUID functions](/develop/docs/dev-database-reference-sql-functions-binary-hash-uuid) | | Operators and predicates | Comparisons, `BETWEEN`, `IN`, `LIKE`, `IS NULL`, `AND`, `OR`, arithmetic and bitwise operators, and which predicates push down | [Operators and predicates](/develop/docs/dev-database-reference-sql-functions-operators-and-predicates) | Vector distance functions are in [vector search SQL](/develop/docs/dev-database-reference-sql-vector-search). Rules that apply to every family: - **Aggregates** work without `GROUP BY`; see [SELECT](/develop/docs/dev-database-reference-sql-select#aggregates). - **Time-zone functions aren't available.** `current_date`, `today()`, `timezone()`, `AT TIME ZONE`, and `date_trunc()` on a `TIMESTAMP WITH TIME ZONE` value fail. `now()` and `current_timestamp` work; cast them to `TIMESTAMP` ([data types in SQL](/develop/docs/dev-database-reference-sql-data-types#rules)). - **Functions that read files fail**, such as `read_parquet()` and `read_csv()`: the Query Engine has no file system access. To load files, [import Parquet files](/develop/docs/dev-database-reference-sql-import-parquet). ## Trino and Spark Trino and Spark have their own function libraries; see [Trino](/develop/docs/dev-database-integrations-trino) and [Spark](/develop/docs/dev-database-integrations-spark).