Important Notice: Migration of Documentation Website
Please be advised that our documentation website is currently undergoing a migration to a new platform. To ensure you have access to the most up-to-date information, we kindly request that you visit our new documentation website located at:
For the BITAND, BITOR and BITXOR functions the'LEFT' parameter is added to insert padding in case both binary values have different length, this is done to avoid errors when comparing the values in Snowflake.
Redshift
Snowflake
Known Issues
No issues were found.
Related EWIs
SSC-FDM-PG0010: Results may vary due to the behavior of Snowflake's bitwise function.
SELECT
-- Bitwise AND
col1 & col2 AS bitwise_and, -- col1 AND col2
-- Bitwise OR
col1 | col2 AS bitwise_or, -- col1 OR col2
-- Left Shift
col3 << 1 AS left_shift_col3, -- col3 shifted left by 1
-- Right Shift
col3 >> 1 AS right_shift_col3, -- col3 shifted right by 1
-- XOR
col1 # col2 AS bitwise_xor, -- col1 XOR col2
-- NOT
~ col3 AS bitwise_not -- NOT col3
FROM bitwise_demo;
SELECT
BITAND(
-- Bitwise AND
col1, col2) AS bitwise_and, -- col1 AND col2
BITOR(
-- Bitwise OR
col1, col2) AS bitwise_or, -- col1 OR col2
-- Left Shift
--** SSC-FDM-PG0010 - RESULTS MAY VARY DUE TO THE BEHAVIOR OF SNOWFLAKE'S BITSHIFTLEFT BITWISE FUNCTION **
BITSHIFTLEFT(
col3, 1) AS left_shift_col3, -- col3 shifted left by 1
-- Right Shift
--** SSC-FDM-PG0010 - RESULTS MAY VARY DUE TO THE BEHAVIOR OF SNOWFLAKE'S BITSHIFTRIGHT BITWISE FUNCTION **
BITSHIFTRIGHT(
col3, 1) AS right_shift_col3, -- col3 shifted right by 1
BITXOR(
-- XOR
col1, col2) AS bitwise_xor, -- col1 XOR col2
-- NOT
BITNOT(col3) AS bitwise_not -- NOT col3
FROM
bitwise_demo;
SELECT
-- Bitwise AND
col4 & col5 AS bitwise_and, -- col4 AND col5
-- Bitwise OR
col4 | col5 AS bitwise_or, -- col4 OR col5
-- XOR
col4 # col5 AS bitwise_xor, -- col4 XOR col5
-- NOT
~ col4 AS bitwise_not -- NOT col4
FROM bitwise_demo;
SELECT
BITAND(
-- Bitwise AND
col4, col5, 'LEFT') AS bitwise_and, -- col4 AND col5
BITOR(
-- Bitwise OR
col4, col5, 'LEFT') AS bitwise_or, -- col4 OR col5
-- XOR
BITXOR(col4, col5, 'LEFT') AS bitwise_xor, -- col4 XOR col5
-- NOT
BITNOT(col4) AS bitwise_not -- NOT col4
FROM bitwise_demo;