2016-03-23 5 views
1

numaralı bir varchar güncelleştirin Tablodaki başka bir veri ile güncellemek istediğiniz bir varchar sütun var. varchar sütunu şu şekildedir: AB1600150.SQL Server'da

Sütun verileri AB1600149 olacak şekilde eklenen sayıyı azaltmak için bu sütunu güncellemeye çalışıyorum.

it lacks an aggregate in the definition list of an UPDATE statement .

bana yardım edin: bu hata var

UPDATE [SONE].[dbo].[F_DOC] 
SET [DC_Piece] = 'FA' + MAX(RIGHT([DC_Piece], 7)) - 1 
WHERE [cbMarq] = 8 

:

Bu kodu yürüttü.

+0

veri türü deneyin ?? –

+0

varchar (9) – hollyx

cevap

1

`[DC_Piece]` bu

UPDATE [SONE].[dbo].[F_DOC] 
SET [DC_Piece] = 'FA' + CAST (CAST(RIGHT([DC_Piece],7)AS INT)-1 AS VARCHAR) 
where [cbMarq]=8 
+1

çok teşekkür ederim – hollyx

1

Bu deneyin:

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