SELECT * FROM Coupons WHERE UserId=@UserId AND IsUsed=@Available^1 AND DATEDIFF(SECOND,GETDATE(),ExpiredDate)>@Available
IsUsed=@Available^1这是什么意思那?谁告诉我下啊???
在sql 中^这个符号什么意思那?
select 1^1345这样会得到什么那?
^,叫异或,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,就是这么来的