SUBSTR returns a portion of string, beginning at a specified character position and extending a specified number of characters.

  • SUBSTR calculates lengths using characters as defined by the input character set.

  • SUBSTRB uses bytes instead of characters.

  • SUBSTRC uses Unicode complete characters.

Return Value



{ SUBSTR | SUBSTRB | SUBSTRC }(char, position [, substring_length ])


char is a text expression that provides the base string from which the substring is derived.

position identifies the first character of the substring:

  • When position is positive, then the function counts from the beginning of char to find the first character.

  • When position is negative, then the function counts backward from the end of char.

  • When position is 0 (zero), then the first character is the beginning of the substring.

substring_length is the number of characters in the returned string. By default, the function returns all characters to the end of the base string. If you specify a value less than 1, then the function returns a null.


SUBSTR('firefly', 1, 4) returns the substring fire.

SUBSTR('firefly', -3, 3) returns the substring fly.