You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请教T-SQL中WHERE子句里按位与操作的含义

解释T-SQL语句中WHERE子句的作用

这条语句里的&是T-SQL的按位与运算符,它会对两个整数的二进制位做逐位对比:只有当两个数对应位置的二进制位都是1时,结果的该位才会是1,其余情况为0。

先把513转成二进制看:513 = 2⁰ + 2⁹,对应的二进制是1000000001——也就是说,这个数只有第0位和第9位(位从0开始计数)是1,其他位都是0。

所以dbo.vw_EnrollSchedule.AdEnrollRegistrationStatus & 513 != 0这个条件,本质是筛选出AdEnrollRegistrationStatus列的二进制值里,第0位或者第9位至少有一个是1的记录。

这种用法一般是把AdEnrollRegistrationStatus作为位掩码字段来用的:每一位对应一个独立的状态标识(比如第0位代表“已完成报名”,第9位代表“已审核通过”),通过按位与操作就能快速判断某个或某几个状态是否被启用。

内容的提问来源于stack exchange,提问作者NCC1701CAPT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:22:04