【问题标题】:Bitwise & operator in Snowflake?雪花中的按位和运算符?
【发布时间】:2022-04-19 23:48:05
【问题描述】:

关于按位运算符,我对 Snowflake 很感兴趣。在 MySql 中,它允许使用以下语法:

Flag & 1024 > 0

我想在使用 Snowflake 的 where 子句中进行相同的过滤,但我在网上只找到了这些功能: https://docs.snowflake.com/en/sql-reference/expressions-byte-bit.html

你有任何理想的如何做同样的事情吗?

    标签: snowflake-cloud-data-platform bitwise-operators bitwise-and


    【解决方案1】:

    Flag & 1024 > 0 等价于 BITWISE AND

    WHERE BITAND(Flag, 1024) > 0;
    

    db<> fiddle demo MySQL

    雪花:

    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
    

    【讨论】:

    • 谢谢,这是我的猜测,但我不是 100% 确定 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    相关资源
    最近更新 更多