| |
- bitor(target_arg, bit_mask_arg)
- DESCRIPTION:
Function performs the logical OR operation on the corresponding bits from the
two input arguments.
Function takes two bit patterns of equal length and performs the logical OR
operation on each pair of corresponding bits as follows:
* If either of the bits from the input arguments is 1 then result is 1.
* If both of the bits from the input arguments are 0 then result is 0.
If the target_arg and bit_mask_arg arguments differ in length, the arguments are
processed as follows:
* The target_arg and bit_mask_arg arguments are aligned on their least
significant byte/bit.
* The smaller argument is padded with zeros to the left until it becomes the
same size as the larger argument.
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)
bit_mask_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'.
Argument Type Rules and Support:
The data type of the bit_mask_arg parameter varies depending upon the data type
of the target_arg parameter. The following table shows the supported column/literal
value types for target_arg and bit_mask_arg parameters and their permitted
combinations:
===============================================
| target_arg type | bit_mask_arg type |
===============================================
| BYTEINT | BYTE(1) or BYTEINT |
| SMALLINT | BYTE(2) or SMALLINT |
| INTEGER | BYTE(4) or INTEGER |
| BIGINT | BYTE(8) or BIGINT |
| VARBYTE(n) | VARBYTE(n) |
===============================================
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 performs bitor operation on "id" and "byte_col" columns.
# Import func from sqlalchemy to execute bitor function.
>>> from sqlalchemy import func
# Create a sqlalchemy Function object.
# Note: Function name case does not matter. We can use the function name in
# lower case, upper case or mixed case.
>>> bit_byte_func_ = func.Bitor(bytes_table.id_col.expression, bytes_table.byte_col.expression)
>>>
# Pass the Function object as input to DataFrame.assign().
>>> df = bytes_table.assign(bitor_byte_=bit_byte_func_)
>>> print(df)
byte_col varbyte_col blob_col bitor_byte_
id_col
2 b'61' b'616263643132' b'6162636431323233' 1627389954
1 b'62' b'62717765' b'3331363136323633' 1644167169
0 b'63' b'627A7863' b'3330363136323633' 1660944384
>>>
|