我是SQL Server的新手。我列有產品價值的列,現在我想在同一張表上添加列值+稅(稅額= 10%值)。任何建議如何以最快的方式做到這一點,或者我應該1插1?我能否複製價值欄並添加一些數學?如果我能做到這一點,有人可以展示它是如何工作的?謝謝。使用數學SQL Server複製列
0
A
回答
0
如果稅收始終是相同的,你可以使用一個計算列:
alter t add value_plus_tax as (value * 1.1);
此計算時,你需要它的價值。否則,你應該明確地添加列和更新:
alter t add value_plus_tax decimal(10, 2); -- or whatever
update t
set value_plus_tax = value * 1.1;
0
如果你的稅率可以改變,你可以存儲在一個單獨的表的速度和使用聯接兩個表來獲取數據的視圖.. 。
CREATE TABLE TaxRate (
[Percent] TINYINT
)
GO
CREATE VIEW ValuesWithTax AS
SELECT *, [Value] * [Percent]/100 ValueWithTax FROM [Values]
CROSS JOIN TaxRate
0
如果稅率是不是一個固定值,你可以添加一列,以節省稅率和計算列
ALTER TABLE table1 add tax_rate decimal(19,4) DEFAULT(0.1) WITH VALUES
ALTER TABLE table1 add toatal_value as ([value](1+tax_rate))
0
添加計算列節省總價值一樣(讓所有的計算) 。
即:下面的例子我已經考慮了價值和稅收的總和,你可以做任何計算(確保計算不應該拋出異常考慮邊界條件)。
ALTER TABLE dbo.tableName ADD RetailValue AS (value+tax);
你也可以使它保持計算列。
相關問題
- 1. SQL Server到SQL Server CE表數據使用SqlBulkCopy複製
- 2. SQL Server複製:轉換複製數據
- 3. SQL Server複製
- 4. SQL Server複製
- 5. SQL Server複製
- 6. SQL Server複製
- 7. 數據複製 - SQL Server 2008
- 8. SQL Server複製數據
- 9. 複製SQL Server CLR函數
- 10. 使用觸發器的SQL Server複製
- 11. 複製使用Microsoft SQL Server管理CHINESE
- 12. 使用SQL Server進行雙向複製
- 13. Sql Server 2005複製
- 14. DB2 SQL Server複製
- 15. SQL Server表複製
- 16. SQL Server 2000/2005標識列+複製
- 17. 按列映射的SQL Server複製
- 18. Sql Server複製和標識列
- 19. SQL Server:在表內複製列
- 20. sql server 2008數學融合
- 21. 如何使用Microsoft SQL Server複製整個列的值?
- 22. 使用SQL Server 2012和事務複製的複製安全
- 23. SQL Server:將數據從一列複製到另一列?
- 24. SQL Server複製不復制外鍵
- 25. SQL Server合併複製 - 不計列不能複製
- 26. 更改SQL Server 2008 R2中的複製列。合併複製
- 27. SQL Server 2000/SQL Server Management Studio 2008 - 如何複製數據庫?
- 28. 將SQL Server 2000數據庫複製到SQL Server 2008時出錯
- 29. SQL Server 2005,收縮複製數據庫
- 30. 如何複製SQL Server數據庫
用'Self join'運行'Update'查詢來更新數據。 –
您可能根本不想添加這樣的計算列,因爲稅率可能會在某個時候發生變化。 –