## Functions

SurrealDB comes with a large number of in-built functions for checking, manipulating, and working with many different types of data. These functions are grouped into a number of different packages, which can be seen below.

#### Array functions

Functions for working with and manipulating arrays of data

#### Count function

Function for counting fields, and expressions

#### Crypto functions

Functions for data hashing, encryption, and authentication

#### Duration functions

Functions for working with and converting to and from durations

#### Geo functions

Functions for working with and analysing geospatial data

#### HTTP functions

Functions for opening and submitting remote web requests

#### Math functions

Functions for mathematical operations and numeric analysis

#### Meta functions

Functions for working with SurrealDB Record IDs

#### Parse functions

Functions for parsing email addresses and URLs

#### Rand functions

Functions for generating random data values

#### Search functions

Functions related to the full-text search capabilities

#### Session functions

Functions for retrieving information about the user session

#### Sleep function

Function for delaying or pausing the execution of a query

#### String functions

Functions for working with and manipulating string values

#### Time functions

Functions for working with and manipulating datetime values

#### Type functions

Functions for generating and ensuring specific data types

#### Scripting functions

Use JavaScript to create advanced functions with complex logic

#### Vector functions

Functions for key vector operations integral to numerical computation, machine learning, and data analysis.