怎样把数据库里一个bit字段的值取为相反的值

bluefox168 2003-08-30 02:02:41
例如
假设该值为1我用update table set yesno=0
要是该值为0我则把他变为set yesno=1
用一条语句怎么实现?
...全文
136 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluefox168 2003-08-30
  • 打赏
  • 举报
回复
现在揭贴,只是分数太少了,各位前辈别介意
pengdali 2003-08-30
  • 打赏
  • 举报
回复
楼主不是说了是bit类型吗?

select ~cast(0 as bit)
select ~cast(1 as bit)
JGTM2000 2003-08-30
  • 打赏
  • 举报
回复
hehe, so easy:

update table set yesno = 1 - yesno

To pengdali:

This works, but ONLY when column is of type "bit", because "~" does a BITWISE not operation. Everyone not using bit type column for storing boolean value should consider the 1-x expression instead.
lionstar 2003-08-30
  • 打赏
  • 举报
回复
update yesno=not 取值

开心就好!!!
pengdali 2003-08-30
  • 打赏
  • 举报
回复
update 表 set 列=~列
txlicenhe 2003-08-30
  • 打赏
  • 举报
回复
update table set yesno=ABS(yesno-1)
97866 2003-08-30
  • 打赏
  • 举报
回复
update table set yesno=ABS(yesno-1)
zjcxc 元老 2003-08-30
  • 打赏
  • 举报
回复
或者:
update table set yesno=yesno-1
zjcxc 元老 2003-08-30
  • 打赏
  • 举报
回复
update table set yesno=case yesno when 0 then 1 else 0 end

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧