RIGHT

The RIGHT function returns the rightmost integer characters of expression.

RIGHT(expression,integer)

If expression is a character string, the result is a character string. If expression is a graphic string, the result is a graphic string. If expression is a binary string, the result is a binary string.

expression
An expression that specifies the string from which the result is derived. The string must be a built-in numeric or string expression. A numeric argument is cast to a character string before evaluating the function. For more information on converting numeric to a character string, see VARCHAR.

A substring of expression is zero or more contiguous characters of expression. If expression is a character string or graphic string, a single character is either an SBCS, DBCS, or multiple-byte character. If expression is a binary string, the result is the number of bytes in the argument.

integer
An expression that returns a built-in integer data type. The integer specifies the length of the result. integer must be greater than or equal to 0 and less than or equal to n, where n is the length attribute of expression.

The result of the function is a varying-length string with a length attribute that is the same as the length attribute of expression and a data type that depends on the data type of expression:

Data type of expression Data type of the Result
CHAR or VARCHAR VARCHAR
CLOB CLOB
GRAPHIC or VARGRAPHIC VARGRAPHIC
DBCLOB DBCLOB
BINARY or VARBINARY VARBINARY
BLOB BLOB

The actual length of the result is integer.

If any argument can be null, the result can be null; if any argument is null, the result is the null value.

The CCSID of the result is the same as that of expression.

Example

  • Assume that host variable ALPHA has a value of 'ABCDEF'. The following statement:
      SELECT RIGHT( :ALPHA, 3)
        FROM SYSIBM.SYSDUMMY1
    Returns the value 'DEF', which are the three rightmost characters in ALPHA.
     
  • The following statement returns a zero length string.
      SELECT RIGHT( 'ABCABC', 0)
        FROM SYSIBM.SYSDUMMY1
  • Assume that NAME is a VARCHAR(128) column, encoded in Unicode UTF-8, that contains the value 'Jürgen'.
      SELECT RIGHT(NAME, 5), SUBSTR(NAME, 3, 5)
        FROM T1
        WHERE NAME = 'Jürgen'
    Returns the value 'ürgen' for RIGHT and an unprintable string (X'BC7267656E') for SUBSTR(NAME, 3, 5).