SQL Server 中的 BIT_XOR ,cast_to_raw 等效项

Posted

技术标签:

【中文标题】SQL Server 中的 BIT_XOR ,cast_to_raw 等效项【英文标题】:BIT_XOR ,cast_to_raw equivalent in SQL Server 【发布时间】:2021-01-26 02:04:36 【问题描述】:

请建议: BIT_XOR ,cast_to_raw 在 SQL Server 中等效。

我需要将以下代码从 oracle 更改为 sql server: :newRow.userid := (utl_raw.bit_xor( utl_raw.cast_to_raw(:newRow.userid), utl_raw.cast_to_raw(TransportInfoPackage.key) ));

【问题讨论】:

仅供参考,SQL Server 2008 (R2) 已于一年多前结束生命周期,您应该尽快考虑升级路径。 【参考方案1】:

使用等价形式Exclusive or:

DECLARE @i INT = 1;
DECLARE @j INT = 3;

SELECT i = @i, j = @j, xor = (@i | @j) & (~(@i & @j));

db<>fiddle demo

【讨论】:

以上是关于SQL Server 中的 BIT_XOR ,cast_to_raw 等效项的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server复制的阶段:1级 - SQL Server复制简介

将 Nvarchar 转换为 Int 失败的 SQL Server 2008

SQL Server:将字符串拆分为不同的列

如何在插入时在 SQL Server 中创建触发器?

sql server 数据排名

SQL server 2008 R2