繁体   English   中英

从同一表中的日期列更新月份列 SQL 服务器

[英]update month column from date column in the same table SQL Server

我有一个具有交易日期 [DATETIME] 的数据,我正在尝试对每个交易行查询 go 并根据交易日期获取月份和年份,并更新月份列以获得大量交易。

例子

ID      Trans_Date              Month
01      01/01/2020              012020
02      02/01/2020              012020
03      01/05/2020              052020

有什么建议么?

使用计算列执行此操作:

alter table t add month as (format(trans_date, 'MMyyyy'));

您可以使用update执行类似的操作。 但这是愚蠢的。 这些值在新行或对现有行的更新上将不正确。 对于计算列,值始终是正确的。

当然,您可以将其表示为update

update t
    set month = format(trans_date, 'MMyyyy');

如果某些值已经正确,则添加一个where子句: where month <> format(trans_date, 'MMyyyy')

您好只是设法这样做:

更新 [DB].[dbo].[TABLE] SET [MONTH]= FORMAT(TRANS_DATETIME,'yyyy0MM');

暂无
暂无

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

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