繁体   English   中英

1列更新200万行

[英]Update 2 million rows for 1 column

我有一张约有200万条记录的表。 我必须遍历每条记录并更新生效日期。 我需要将每个日期的日期设置为每月的第一天。

如果当前日期是每月的第一天,则忽略。

    07/01/2018    
    07/21/2018 => 07/01/2018
    08/11/2018 => 08/01/2018

目前,我正在将其编写为C#程序,并且花费的时间太长。 有更好的解决方案吗?

只需使用DATEADD()DATEDIFF()组合即可获取月初的日期

UPDATE t
SET    datecol = DATEADD(MONTH, DATEDIFF(MONTH, '1900-01-01', datecol), '1900-01-01')
FROM   yourtable t;

它可能很简单:

Update myTable 
    set myDate = DateAdd(day, 1-Day(myDate), myDate)
where day(myDate) > 1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM