Teradata Package for Python Function Reference - 17.00 - rotateleft - Teradata Package for Python

Teradata® Package for Python Function Reference

Product
Teradata Package for Python
Release Number
17.00
Release Date
April 2021
Content Type
Programming Reference
Publication ID
B700-4008-070K
Language
English (United States)
 
 
rotateleft

 
Functions
       
rotateleft(target_arg, num_bits_arg)
DESCRIPTION:
    Function returns an expression rotated to the left by the specified number of bits,
    with the most significant bits wrapping around to the right.
 
    Following rules apply to the function:
        * If num_bits_arg is equal to zero, then the function returns target_arg
          unchanged.
        * If num_bits_arg is negative, then the function rotates the bits to the right
          instead of the left.
        * If target_arg and/or num_bits_arg are NULL, then the function returns NULL.
        * If num_bits_arg is larger than the size of target_arg, then the function rotates
          (num_bits_arg MOD sizeof(target_arg)) bits. The scope of the rotation operation
          is bounded by the size of the target_arg expression.
 
PARAMETERS:
    target_arg:
        Required Argument.
        Specifies a ColumnExpression of an integer or byte column or a numeric or byte
        literal value.
        Format of a ColumnExpression of a column: '<dataframe>.<dataframe_column>.expression'.
        Supported SQL column types: BYTEINT, SMALLINT, INTEGER, BIGINT, and VARBYTE(n)
        Note:
            When operating against an integer value (BYTEINT, SMALLINT, INTEGER, or BIGINT),
            rotating a bit into the most significant position will result in the integer
            becoming negative. This is because all integers in Vantage are signed integers.
 
    num_bits_arg:
        Required Argument.
        Specifies a ColumnExpression of an integer column or an integer literal
        indicating the number of bit positions to rotate.
        Format of a ColumnExpression of a column: '<dataframe>.<dataframe_column>.expression'.
        Supported SQL column types: INTEGER
 
NOTE:
    Function accepts positional arguments only.
 
EXAMPLES:
    # Load the data to run the example.
    >>> load_example_data("dataframe", "bytes_table")
    >>>
 
    # Create a DataFrame on 'bytes_table' table.
    >>> bytes_table = DataFrame("bytes_table")
    >>> bytes_table
           byte_col      varbyte_col             blob_col
    id_col
    2         b'61'  b'616263643132'  b'6162636431323233'
    1         b'62'      b'62717765'  b'3331363136323633'
    0         b'63'      b'627A7863'  b'3330363136323633'
    >>>
 
    # Example rotates values in "varbyte_col" column to left by 3 bits.
    # Import func from sqlalchemy to execute rotateleft function.
    >>> from sqlalchemy import func
 
    # Note: Function name case does not matter. We can use the function name in
    #       lower case, upper case or mixed case.
    >>> df = bytes_table.assign(rotateleft_varbyte_= func.rotateleft(bytes_table.varbyte_col.expression, 3))
    >>> print(df)
           byte_col      varbyte_col             blob_col rotateleft_varbyte_
    id_col
    2         b'61'  b'616263643132'  b'6162636431323233'      b'B131B218993'
    1         b'62'      b'62717765'  b'3331363136323633'         b'138BBB2B'
    0         b'63'      b'627A7863'  b'3330363136323633'         b'13D3C31B'
    >>>