一个有趣的SQL命题:用一条语句切换BIT型的真假值
2009-08-04 23:18
363 查看
有个需求,用一条SQL语句(SQL SERVER)的,切换某个BIT字段值。也就是说从TRUE变FALSE,从FALSE到TRUE。
当然,第一反应是用存储过程。判断原来这个字段值,然后UPDATE。
网上粗粗找了一下没找到方案。自己一动手,居然有个很有趣的结果,连WHERE都不用
对数据库的BIT型赋值,用SQL语句来操作和用管理界面输入不同。管理界面输入必须用TRUE或FALSE来填写。而SQL语句则用0或1
于是乎,先尝试:
updat t set b=b+1 where id=1;
select b from t where id=1;
b字段一直保持1
那么用减号呢
update t set b=b-1 where id=1;
select b from t where id=1;
可以发现每次结果就在0和1之间切换,SQL SERVER把-1当做1来处理。
这个需求很容易就解决了。
通常这在一些状态切换(或开关)的地方会用到,在需求中不需要知道切换后的情况。很有趣也很简单,呵呵
相关文章推荐
- 【一个有趣的SQL命题】用一条语句切换BIT型的真假值
- 一个有趣的SQL命题 用一条语句切换BIT型的真假值
- 一个有趣的SQL命题 用一条语句切换BIT型的真假值
- 一条sql语句(关于将一个表里的数据汇总,更新数据库中的另外一张表的列值
- 一个查询的SQL语句请教,希望能够用一条SQL语句得到结果
- 记下一条使用SQLServer 2000 T-SQL中日期函数比较多的一个SQL语句
- 关于postgres一条sql语句中子查询的返回值不止一个,且拼接成相关规则的字符串
- 5家医院回扣门拷问的是IT人士的良知,搞臭一个医院一条SQL语句
- sql语句 一个表 用户产生两条不同类型的数据 拼接成一条数据
- 一条sql语句,要修改一个字段的俩个值,比如把字段sex中的男改为女,女改为男
- 一条sql语句,要修改一个字段的俩个值,比如把字段sex中的男改为女,女改为男
- 5家医院回扣门拷问的是IT人士的良知,搞臭一个医院一条SQL语句
- 何用sql语句实现:将insert语句作为一个字段,插入到表格的一条记录之中
- 在oracle中如何用一条sql语句把一个表中多条记录写到另外一个表中
- 如何用一条SQL语句,将多条记录(一个字段)合并为一个?
- 一个叫 team 的表,里面只有一个字段name, 一共有4 条纪录,分别是a,b,c,d, 对应四个球队,现在四个球队进行比赛,用一条sql 语句显示所有可能的比赛组合.
- 一条sql语句解决一个变态需求
- 转载:如何写个SQL语句查询一个字段里是否有重复记录如果有只读取其中一条记录
- ADO.NET的一个帮助类库,只须一个连接,一条SQL语句,轻松实现数据库的查旬,再加一个object 轻松实现数据库的增删改
- 写了一条Sybase SQL语句,用于生成一个表中所有数据的插入记录的生成