惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
The Register - Security
The Register - Security
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
博客园 - 司徒正美
罗磊的独立博客
U
Unit 42
S
SegmentFault 最新的问题
Y
Y Combinator Blog
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
Schneier on Security
Schneier on Security
Know Your Adversary
Know Your Adversary
C
Check Point Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Simon Willison's Weblog
Simon Willison's Weblog
V
Vulnerabilities – Threatpost
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
The Hacker News
The Hacker News
博客园 - 叶小钗
C
Cybersecurity and Infrastructure Security Agency CISA
Spread Privacy
Spread Privacy
L
LINUX DO - 热门话题
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Latest news
Latest news
L
Lohrmann on Cybersecurity
A
About on SuperTechFans
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
S
Securelist
A
Arctic Wolf
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threatpost
Scott Helme
Scott Helme
博客园 - 聂微东
博客园 - 【当耐特】
T
Tenable Blog
I
Intezer
D
DataBreaches.Net
B
Blog RSS Feed
Security Latest
Security Latest
C
Cisco Blogs
T
Tor Project blog
N
Netflix TechBlog - Medium

博客园 - peace

MYSQL分页存储过程及事务处理 审批流设计方案的探究 WEB项目(B/S系统)打包安装(总结篇) 文件上传之断点续传方案 再次分享一个多选文件上传方案 FLEX4.0开发流媒体视频播放器(总结篇) 告别ADO.NET实现应用系统无缝切换的烦恼(总结篇) SQL SERVER行转列应用小结 SQL SERVER函数——表值函数的处理 纠正网上流传的SQL取某一时间的当月第一天和最后一天的时间写法 SQL SERVER游标操作 告别.NET生成报表统计图的烦恼 发现联想手机P630型号的一个严重的系统Bug thinkpad T400型号安装server2003系统驱动共享 分享一个.NET版的多选文件上传操作示例 一个简单的httpModule应用 JS给页面标签添加事件(或超链接链接) 让默认焦点的按钮无虚框(又来无聊了) 利用ASP.NET日期控件制作“会议日程安排”(贴首页过把瘾)
SQL SERVER里的赋值机制闲聊
peace · 2011-03-02 · via 博客园 - peace

   纯属闲谈,没什么好写,以前也碰过在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 ...

  算是啰嗦下~~