Snowflake 中的按位运算符?
Bitwise & operator in Snowflake?
我对按位运算符的 Snowflake 很着迷。在 MySql 中,允许使用此语法:
Flag & 1024 > 0
我想在 where 子句中使用 Snowflake 进行相同的过滤,但我在网上发现只有这些功能:
https://docs.snowflake.com/en/sql-reference/expressions-byte-bit.html
你有什么理想的做同样事情的方法吗?
Flag & 1024 > 0
等同于 BITWISE AND:
WHERE BITAND(Flag, 1024) > 0;
雪花:
CREATE TABLE tab(flag INT)
AS
SELECT 1024 AS flag
UNION SELECT 2048
UNION SELECT 1025;
SELECT *
FROM tab
WHERE BITAND(Flag, 1024) > 0;
-- 1024
-- 1025
我对按位运算符的 Snowflake 很着迷。在 MySql 中,允许使用此语法:
Flag & 1024 > 0
我想在 where 子句中使用 Snowflake 进行相同的过滤,但我在网上发现只有这些功能: https://docs.snowflake.com/en/sql-reference/expressions-byte-bit.html
你有什么理想的做同样事情的方法吗?
Flag & 1024 > 0
等同于 BITWISE AND:
WHERE BITAND(Flag, 1024) > 0;
雪花:
CREATE TABLE tab(flag INT)
AS
SELECT 1024 AS flag
UNION SELECT 2048
UNION SELECT 1025;
SELECT *
FROM tab
WHERE BITAND(Flag, 1024) > 0;
-- 1024
-- 1025