zoukankan      html  css  js  c++  java
  • SQL SERVER里的赋值机制闲聊

       纯属闲谈,没什么好写,以前也碰过在SQL里连续赋值的问题,今天自己处理个东西也碰上,举个简单的例子来说吧,用户表里有两个时间字段(CurrentDate,LastDate分别代表当前登录时间和上次登录时间),一个是上次登录时间,一个是当前登录时间,要求用户登录后记录当前更新时间,同时更新上次登录时间,当然第一次登录时上次登录时间是为空的,第二次登录应该是有值的。很简单第二次登录时先把 第一次登录的CurrentDate的值赋值给LastDate,然后给CurrentDate赋值getdate()就可以了。问题是这条更新语句怎么写最恰当。可能最容易想到的是这样的

       declare @date datetime

       select @date=CurrentDate from users where ...

       update users set LastDate = @date,CurrentDate=getdate() where ...

           写到第三句基本上应该能想到连续赋值了,一般的计算机语言都是从右到左赋值的,多表达式的连续赋值计算优先级也是从右至左的,在SQL SERVER里也一样的,明白了这点,最佳的方式应该是这样写

      update users set CurrentDate=getdate() , LastDate = CurrentDate where ...

      算是啰嗦下~~

         

  • 相关阅读:
    void及void指针含义的深刻解析
    jbpm入门样例
    给字符数组赋值的方法
    linux tar.gz zip 解压缩 压缩命令
    android 文件上传
    职员有薪水了
    sublime配置全攻略
    [置顶] WPF数据修改demo
    Java实现快速排序
    Java实现快速排序
  • 原文地址:https://www.cnblogs.com/peaceli/p/1969405.html
Copyright © 2011-2022 走看看