# Functions

Use these functions in the **[Advanced Search](https://docs.kloudfuse.com/platform/3.3.6/logs-advanced-search/)** interface to perform relatively complex data transformations. The **Logs Query Builder** does not natively support these functions.

## backshift
Shifts a column in a table down by the specified number.

**Syntax**
```code
| backshift <field>
| backshift <field> as <alias>
| backshift <field>, <number>
| backshift <field>, <number> as <alias>
```

## base64Decode
Converts a base64 string into to an ASCII/UTF-8 string.

**Syntax**
```code
| base64Decode(<base64String>) as <alias>
```
**Example**
```code
| base64Decode("SGVsbG8gV29ybGQ=") as K
```

## base64Encode
Converts an ASCII/UTF-8 string to a base64 string.

**Syntax**
```code
| base64Encode(<string>) as <alias>
```
**Example**
```code
| base64Encode("Hello World") as K
```

## compareCIDRPrefix
Checks if the network prefixes of two IPv4 addresses match.

**Syntax**
```code
| compareCIDRPrefix(<ipv4String>, <ipv4String>) as <alias>
```
**Example**
```code
| compareCIDRPrefix("10.10.1.35", "10.10.1.35") as K
```

## concat
Concatenates multiple strings and numbers into a new string.

**Syntax**
```code
| concat(<field1>, <field2>, ...) as <alias>
```
**Example**
```code
| concat("Hello", " ", "World", " ", 1) as K
```

## decToHex
Converts long value to hexadecimal value.

**Syntax**
```code
| decToHex(<longField>) as <alias>
```
**Example**
```code
| decToHex("70") as K
```

## dedup
Removes duplicate results in a table by a set of columns.

**Syntax**
```code
| dedup by <field1>, <field2>, ...
```

## format
Returns a formatted string given a format specifier and arguments.

**Syntax**
```code
| format(<formatSpecifierString>, <field1>, ...) as <alias>
```
**Example**
```code
| format("%s : %s", "The count is", 1) as K
```

## formatDate
Returns a date string given a date, format, and timezone (default UTC).

**Syntax**
```code
| formatDate(<dateMilliseconds>) as <alias>
| formatDate(<dateMilliseconds>, <formatString>) as <alias>
| formatDate(<dateMilliseconds>, <formatString>, <timezoneString>) as <alias>
```
**Example**
```code
| formatDate(1730925217838) as K
```

## getCIDRPrefix
Retrieves the network prefix from an IPv4 address.

**Syntax**
```code
| getCIDRPrefix(<ipv4String>) as <alias>
```
**Example**
```code
| getCIDRPrefix("10.10.1.35") as K
```

## hash
Hashes data into a string value using the specified hash algorithm.

**Syntax**
```code
| hash(<field>) as <alias>
| hash(<field>, <hashAlgorithm>) as <alias>
```
**Example**
```code
| hash("hello world") as K
```

## hexToAscii
Converts hexadecimal string to ASCII value.

**Syntax**
```code
| hexToAscii(<hexString>) as <alias>
```
**Example**
```code
| hexToAscii("48656c6c6f20476f7068657221") as K
```

## isBlank
Checks if a string value is null, empty, or contains only empty characters.

**Syntax**
```code
| isBlank(<string>) as <alias>
```
**Example**
```code
| isBlank("  ") as K
```

## isNumeric
Checks if a string value can be parsed as a number.

**Syntax**
```code
| isNumeric(<string>) as <alias>
```
**Example**
```code
| isNumeric("1.234") as K
```

## len
Returns the length of a string.

**Syntax**
```code
| len(<string>) as <alias>
```
**Example**
```code
| len("1234") as K
```

## urlDecode
Returns an unescaped URL string.

**Syntax**
```code
| urlDecode(<urlString>) as <alias>
```
**Example**
```code
| urlDecode("http%3A%2F%2Fexample-server123.org%2Fapi%2Fv1%2Fdata.php%3Fauth%3DAbCdEfGhIjKlMnOpQrStUvWxYz123456%26") as K
```

## urlEncode
Encodes a URL into the ASCII character set.

**Syntax**
```code
| urlEncode(<urlString>) as <alias>
```
**Example**
```code
| urlEncode("http://example-server123.org/api/v1/data.php?auth=AbCdEfGhIjKlMnOpQrStUvWxYz123456&") as K
```
