Other Functions and Expressions
The Ocient® System supports these miscellaneous functions and expressions.
CASE
CASE operates similarly to conditional scripting in other programming languages, allowing it to function like an if / then / else statement or as a switch statement.
CASE sets one or more WHEN conditions to be evaluated. When a condition is evaluated as true, the database applies the specified action in a THEN clause. If no matches are found, the database applies the action in the ELSE clause. If no ELSE clause is specified and no matches are found, the result is NULL.
This evaluation creates a new column where the values are expressions inside the THEN clause.
Syntax
Example
This example uses conditional logic with CASE to categorize individuals into different groups based on their ages.
Example
This example uses switch conditions to categorize age groups.
COALESCE
Returns the first argument that is not NULL or NULL if all arguments are NULL. Arguments must be the same type, and the returned value is the most compatible type.
COALESCE can work with mixed-type numeric arguments, which means the lower precedence types are cast to the highest one. For example, when using TIMESTAMP and DATE data types, all values are cast to a timestamp.
Syntax
Example
Output: 13
COMMIT
Returns the most recent commit hash of the database to which the client is currently connected.
Syntax
Example
Output: cd0d53e3aa
CURRENT_DATABASE
Alias for DATABASE.
CURRENT_NODE
Returns the name of the SQL Node where the current query executes. The name of the node corresponds to the name column in the sys.nodes system catalog table.
Syntax
Example
Output: sql0
CURRENT_GROUPS
Returns the fully qualified names of groups to which the current user belongs. You can query the sys.groups system catalog table to view the group information.
Syntax
Example
Output: ['sso_users@system', 'analysts@system']
CURRENT_NODE_ID
Returns the identifier of the SQL Node where the current query executes. The name of the node corresponds to the id column in the sys.nodes system catalog table.
Syntax
Example
Output: f690c14a-4e4f-4143-8e5e-20c90b60e15c
CURRENT_SCHEMA
Returns the name of the current schema.
Syntax
Example
Output: schema@database
CURRENT_SESSION_ID
Returns the identifier of the current session as a Universally Unique IDentifier (UUID) that matches the id column in the sys.sessions system catalog table.
Syntax
Example
Output: 6ffe8383-e894-44c0-91c5-38d5925f51ec
CURRENT_SYSTEM
Returns the name of the system. You can set the name using the ALTER SYSTEM RENAME TO SQL statement.
If you never set the system name, the Ocient System initializes the name of the system as a random identifier, the UUID.
Syntax
Example
Output: 2677b88c-7f07-470c-be3e-e1bafddc1221
CURRENT_USER
Returns the user for the current connection.
Syntax
Example
Output: user@database
DATABASE
Alias for CURRENT_DATABASE.
Returns the name of the database to which the client is currently connected.
Syntax
Example
Output: test
GREATEST
Returns the largest non-NULL value of all the arguments, or NULL if all the arguments are NULL. All values must be comparable to each other.
Syntax
Example
Output: 13
IF_NULL
Returns the first argument that is not NULL or NULL if all arguments are NULL. Arguments must be the same type, and the returned value is the most compatible type.
IF_NULL can work with mixed-type numeric arguments, which means the lower precedence types are cast to the highest one. For example, when using TIMESTAMP and DATE data types, all values are cast to a timestamp.
Syntax
Example
Output: 5
LEAST
Returns the smallest non-NULL value of all arguments, or NULL if all arguments are NULL. All values must be comparable to each other.
Syntax
Example
Output: 5
MURMUR3
Returns a 32-bit MurmurHash3 hash of the input value as an INTEGER data type. If you specify a NULL input value, the function returns 0. This function is primarily useful for partitioning data.
Syntax
Example
Output: 0
Example
Output: 331477181
NULL_IF
Returns the NULL value if two arguments are equal; otherwise, returns the first argument.
Syntax
Example
Output: 13
Example
Output: NULL
RAND_UUID
Alias for UUID_GENERATE.
SHOW
The SHOW function lets you explore the database and its metadata for user-defined items. For details, see Information Schema.
Syntax
Examples
This example uses SHOW to explore databases on the system.
Output
This example explores table data.
Output
UUID_GENERATE
Alias for RAND_UUID.
Generates a random UUID value (version 4).
For details about the UUID data type, see Data Types.
Syntax
Example
Generate one UUID value.
Output: 3f6b2b58-4c9a-4a32-9b6a-b2f9b8e2a41e
TYPE_STRIP
Returns the SQL type of the specified value.
Syntax
Examples
Output: MATRIX[1][3]
Output: CHAR
Output: NULL
Output: INT[]
VERSION
Returns the version of the database to which the client is currently connected.
Syntax
Example
Output: 22.0.0-20230105.2353
ZN
If x is NULL, returns 0. Otherwise, returns x.
Syntax
Example
Output: 0
Example
Output: 12

