2017-08-15 95 views
1

我们只是说我在表中有两行,分别为IDAmount列。如果我的IDCrdCRDT开头,那么我需要将Amount乘以-1来确定该特定行。我想根据行中的值更新我的SQL Server表

ID  Amount 
-------------- 
crd12  9 
123  10 
crdt123 99 

结果我需要

ID  Amount 
-------------- 
crd12  -9 
123  10 
crdt123 -99 

回答

0
UPDATE [MyTable] 
SET [Amount] = -[Amount] 
WHERE 
    [ID] LIKE 'crd%' 
    AND [Amount] > 0 
+0

如何将数据插入到表后,立即做呢?我必须为数千条记录做这件事。我试过更新表设置[金额] = -1 * [金额] 其中ID LIKE'Crd%'和发票号LIKE'Crdt%'但我不知道为什么它不起作用 – linkin

+1

你可以在触发器...但我建议你修复你的应用程序。 –

+0

或者只是在视图中进行操作,而不要触摸数据。 –

相关问题