技术思绪摘录旅行笔记
SQLServer中批量处理一张表中的数据,本文将以实际遇到的一个需求为例,学习一下其中的几个函数。

最近接到一个数据更新的需求,要求把之前的数据创建时间全部更新到某个时间段,而且要随机。

经过查阅资料,最终写了如下sql语句:

要求:将cetype='2'的新闻数据的创建时间全部更新成2016-05-01到2016-05-05的时间段之间的时间。

update [Tb_News_Latest] set createtime=DATEADD(second,ABS(CHECKSUM(NEWID()))%DATEDIFF(second,'2016-05-01','2016-05-05'),'2016-05-01') where cetype='2'

接下来说说每个函数都是干啥的:

DATEDIFF函数:计算两个时间点之间的时间差,到底是以秒为单位还是以年为单位,就是第一个参数决定的。

NEWID函数:产生一个随机数

CHECKSUM函数:校验数值

ABS函数:取绝对值

DATEADD函数:给一个时间加上一些时间,单位以第一个参数决定。


CarsonIT 微信扫码关注公众号 策略、创意、技术

留下您的脚步

 

最近评论

查看更多>>

站点统计

总文章数:275 总分类数:18 总评论数:88 总浏览数:124.82万

精选推荐

阅读排行

友情打赏

请打开您的微信,扫一扫