我有一个数据,它有一个事务日期[datetime],我正在尝试有一个查询,该查询转到每个事务行,根据事务日期获取月份和年份,并更新月份列以获取大量事务。例子
ID Trans_Date Month 01 01/01/2020 012020 02 02/01/2020 012020 03 01/05/2020 052020
有什么建议吗?
jyztefdp1#
使用计算列执行此操作:
alter table t add month as (format(trans_date, 'MMyyyy'));
你可以用一个 update . 但这是愚蠢的。这些值在新行或更新现有行时将不正确。对于计算列,值总是正确的。当然,你可以把这个表达成 update :
update
update t set month = format(trans_date, 'MMyyyy');
如果某些值已经正确,则添加 where 条款: where month <> format(trans_date, 'MMyyyy') .
where
where month <> format(trans_date, 'MMyyyy')
eni9jsuy2#
嗨,我就是这么想的:更新[db].[dbo].[table]设置[month]=格式(trans_datetime,'yyyy0mm');
2条答案
按热度按时间jyztefdp1#
使用计算列执行此操作:
你可以用一个
update
. 但这是愚蠢的。这些值在新行或更新现有行时将不正确。对于计算列,值总是正确的。当然,你可以把这个表达成
update
:如果某些值已经正确,则添加
where
条款:where month <> format(trans_date, 'MMyyyy')
.eni9jsuy2#
嗨,我就是这么想的:
更新[db].[dbo].[table]设置[month]=格式(trans_datetime,'yyyy0mm');