BIT_SET
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
BIT_SET()
函数将给定位置的位值设置为新值
SELECT bit_set(3, 0), bit_set(3, 2), bit_set(3, 0, 0), bit_set(3, 2, 1);
create.select( bitSet(inline(3), 0), bitSet(inline(3), 2), bitSet(inline(3), 0, 0), bitSet(inline(3), 2, 1)).fetch();
结果是
+---------+---------+---------+---------+ | bit_set | bit_set | bit_set | bit_set | +---------+---------+---------+---------+ | 3 | 7 | 2 | 7 | +---------+---------+---------+---------+
方言支持
此示例使用 jOOQ
bitSet(inline(3), 2)
翻译成以下特定方言的表达式
ASE, SQLDataWarehouse, Sybase
(3 | (1 * CAST(power(2, 2) AS int)))
Aurora MySQL, Aurora Postgres, BigQuery, CockroachDB, DuckDB, MariaDB, MemSQL, MySQL, Postgres, Redshift, SQLite, Vertica, YugabyteDB
(3 | (1 << 2))
ClickHouse
bitOr( 3, bitShiftLeft(1, 2) )
Databricks
(3 | shiftleft(1, 2))
DB2, Informix
bitor( 3, (1 * CAST(power(2, 2) AS integer)) )
Exasol
bit_set(3, 2)
Firebird
bin_or( 3, bin_shl(1, 2) )
H2
bitor( 3, lshift(1, 2) )
HSQLDB
bitor( 3, (1 * CAST(power(2, 2) AS int)) )
Oracle
((3 + (1 * CAST(power(2, 2) AS number(10)))) - bitand( 3, (1 * CAST(power(2, 2) AS number(10))) ))
Snowflake
bitor( 3, bitshiftleft(1, 2) )
SQLServer
set_bit(3, 2)
Teradata
setbit(3, 2)
Trino
bitwise_or( 3, bitwise_left_shift(1, 2) )
Access, Derby, Hana
/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!