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 ...

      算是啰嗦下~~

         

  • 相关阅读:
    vue element-ui 动态上传
    vue element ui 导航刷新 is-active
    算法图解笔记
    简单操作的一些小技巧
    大话数据结构 -07-1 图的定义、抽象数据类型与存储结构
    ELO kernels 记录
    [2] day 02
    [1] first day
    大话数据结构 -04-3 队列
    大话数据结构 -04-2 栈的应用-递归
  • 原文地址:https://www.cnblogs.com/peaceli/p/1969405.html
Copyright © 2011-2022 走看看