可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18

BIT_GET

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

BIT_GET() 函数提取给定位置的位值

SELECT
  bit_get(3, 0),
  bit_get(3, 2);
create.select(
  bitGet(inline(3), 0),
  bitGet(inline(3), 2)).fetch();

结果是

+---------+---------+
| bit_get | bit_get |
+---------+---------+
|       1 |       0 |
+---------+---------+

方言支持

此示例使用 jOOQ

bitGet(inline(3), 2)

翻译成以下特定方言的表达式

ASE, SQLDataWarehouse, Sybase

((3 & (1 * CAST(power(2, 2) AS int))) / CAST(power(2, 2) AS int))

Aurora MySQL, Aurora Postgres, BigQuery, CockroachDB, DuckDB, MariaDB, MemSQL, MySQL, Postgres, Redshift, SQLite, Vertica, YugabyteDB

((3 & (1 << 2)) >> 2)

ClickHouse

bitTest(3, 2)

Databricks

bit_get(3, 2)

DB2, Informix

(bitand(
  3,
  (1 * CAST(power(2, 2) AS integer))
) / CAST(power(2, 2) AS integer))

Exasol

CASE bit_check(3, 2)
  WHEN TRUE THEN 1
  WHEN FALSE THEN 0
END

Firebird

bin_shr(
  bin_and(
    3,
    bin_shl(1, 2)
  ),
  2
)

H2

CASE bitget(3, 2)
  WHEN TRUE THEN 1
  WHEN FALSE THEN 0
END

HSQLDB

(bitand(
  3,
  (1 * CAST(power(2, 2) AS int))
) / CAST(power(2, 2) AS int))

Oracle

(bitand(
  3,
  (1 * CAST(power(2, 2) AS number(10)))
) / CAST(power(2, 2) AS number(10)))

Snowflake

bitshiftright(
  bitand(
    3,
    bitshiftleft(1, 2)
  ),
  2
)

SQLServer

get_bit(3, 2)

Teradata

getbit(3, 2)

Trino

bitwise_right_shift(
  bitwise_and(
    3,
    bitwise_left_shift(1, 2)
  ),
  2
)

Access, Derby, Hana

/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo