在我的表中,我有一个varchar
列,我想用另一个数据更新它。varchar
列如下所示,例如:AB1600150
。
我正在尝试更新此列以减少附加的数量,因此列数据将为AB1600149
。
我执行了这个代码:
UPDATE [SONE].[dbo].[F_DOC]
SET [DC_Piece] = 'FA' + MAX(RIGHT([DC_Piece], 7)) - 1
WHERE [cbMarq] = 8
我得到了这个错误:
它在UPDATE语句的定义列表中缺少聚合。
请帮帮我。
试试这个
UPDATE [SONE].[dbo].[F_DOC]
SET [DC_Piece] = 'FA' + CAST (CAST(RIGHT([DC_Piece],7)AS INT)-1 AS VARCHAR)
where [cbMarq]=8
试试这个:
UPDATE [SONE].[dbo].[F_DOC]
SET [DC_Piece] = 'FA' + RIGHT('0000000',
CAST(
CAST(right([DC_Piece],7) as int) - 1 as varchar(7),
7)
WHERE [cbMarq]=8