Teradata Package for Python Function Reference - 17.00 - shiftright - 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)
 
 
shiftright

 
Functions
       
shiftright(target_arg, num_bits_arg)
DESCRIPTION:
    Function returns the expression target_arg shifted by the specified
    number of bits (num_bits_arg) to the right. The bits in the least significant
    positions are lost, and the bits in the most significant positions are
    filled with zeros.
 
    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 shifts the bits to the left
          instead of the right.
        * If target_arg and/or num_bits_arg are NULL, then the function returns NULL.
        * The scope of the shift operation is bounded by the size of the target_arg
          expression. Specifying a shift that is outside the range of target_arg
          results in an SQL error.
 
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), shifting 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 shift.
        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 shifts values in "varbyte_col" column to right by 3 bits.
    # Import func from sqlalchemy to execute shiftright 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(shiftright_varbyte_= func.shiftright(bytes_table.varbyte_col.expression, 3))
    >>> print(df)
           byte_col      varbyte_col             blob_col shiftright_varbyte_
    id_col
    0         b'63'      b'627A7863'  b'3330363136323633'          b'C4F4F0C'
    2         b'61'  b'616263643132'  b'6162636431323233'      b'C2C4C6C8626'
    1         b'62'      b'62717765'  b'3331363136323633'          b'C4E2EEC'
    >>>