首页 新闻 会员 周边 捐助

急急急急急急急急

0
[已解决问题] 解决于 2012-03-09 16:19

SELECT * FROM Coupons WHERE UserId=@UserId AND IsUsed=@Available^1 AND DATEDIFF(SECOND,GETDATE(),ExpiredDate)>@Available

IsUsed=@Available^1这是什么意思那?谁告诉我下啊???

在sql 中^这个符号什么意思那?

select 1^1345这样会得到什么那?

sql
MingHao_Hu的主页 MingHao_Hu | 初学一级 | 园豆:8
提问于:2012-03-09 14:37
< >
分享
最佳答案
0

^,叫异或,SQL里的位运算符,运算规则:0^0=0 ;0^1=1;1^1=0,即两个二进制数据,按着^运算,相同结果为0,相异结果为1。

位运算符在两个表达式之间执行位操作,这两个表达式可以为整数类型中的任何数据类型

select 1^1345这样会得到1344。具体算法,把参与运算的两个整数都转换为二进制数据(可用计算器算二进制数),然后上下对应按位异或。

1345对应的2进制数:10101000001

10101000001

00000000001

--------------------

10101000000                            

10101000000对应的10进制数为1344,就是这么来的

qixiaoxiao3324 | 菜鸟二级 |园豆:205 | 2012-03-09 16:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册