广

MSSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    一个有趣的SQL命题 用一条语句切换BIT型的真假值

    2018-05-08 11:29:27 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布
    当然,第一反应是用存储过程。判断原来这个字段值,然后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来处理。
    这个需求很容易就解决了。
    通常这在一些状态切换(或开关)的地方会用到,在需求中不需要知道切换后的情况。很有趣也很简单,呵呵

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告