Skip to main content

Position and Indexing

GlueSQL provides several functions for text manipulation, including finding the index of a substring (find_idx), finding the position of a substring (position), and getting the leftmost or rightmost characters (left and right).

Find Index - find_idx

find_idx function returns the first position of the specified substring, starting from the beginning of the string or the specified position.

let test_num = find_idx(text("strawberry"), text("berry"), None);  // Returns 6
let test_num = find_idx(text("Oracle Database 12c Release"), text("as"), Some(num(15))); // Returns 25

You can also call find_idx directly on a string:

let test_num = text("Oracle Database 12c Release").find_idx(text("as"), Some(num(15)));  // Returns 25

Position - position

The position function is similar to find_idx, but it starts counting from 1 and does not take a third argument for the starting position.

let test_num = position(text("cake"), text("ke"));  // Returns 3

Left - left

The left function returns the leftmost characters of a string. The second argument specifies the number of characters to return.

let test_str = left(text("Hello, World"), num(7));  // Returns "Hello, "

Right - right

The right function returns the rightmost characters of a string. The second argument specifies the number of characters to return.

let test_str = right(text("Hello, World"), num(7));  // Returns ", World"