| |
- getbit(target_arg, target_bit_arg)
- DESCRIPTION:
Function returns the bit specified by target_bit_arg from the target_arg byte
expression and returns either 0 or 1 to indicate the value of that bit.
PARAMETERS:
target_arg:
Required Argument.
Specifies a ColumnExpression of an integer or byte column or a numeric or byte
literal value.
If the argument is NULL, the function returns NULL.
Format of a ColumnExpression of a column: '<dataframe>.<dataframe_column>.expression'.
Supported SQL column types: BYTEINT, SMALLINT, INTEGER, BIGINT, and VARBYTE(n)
target_bit_arg:
Required Argument.
Specifies a ColumnExpression of an integer column or an integer literal.
Following rules apply to the values of target_bit_arg:
* The range of input values can vary from 0 (bit 0 is the least significant
bit) to the (sizeof(target_arg) - 1).
* If target_bit_arg is negative or out-of-range (meaning that it exceeds the size
of target_arg), an error is returned.
* If the argument is NULL, the function returns NULL.
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 retrieves the fourth bit from the values in "varbyte_col" column.
# Import func from sqlalchemy to execute getbit 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(getbit_varbyte_= func.getbit(bytes_table.varbyte_col.expression, 3))
>>> print(df)
byte_col varbyte_col blob_col getbit_varbyte_
id_col
2 b'61' b'616263643132' b'6162636431323233' 0
1 b'62' b'62717765' b'3331363136323633' 0
0 b'63' b'627A7863' b'3330363136323633' 0
>>>
|