variable decimal places in sql
How do you make it so that all calculations in the DB compute to a pre-specified # of decimal places? Say I have three tables with the following fields
Table1
- A int
- B decimal(18, 3)
Table2
- A int
- B decimal (1开发者_StackOverflow社区8, 2)
- C decimal (18, 3)
Table3
- A int
- Precision int
Now I need to change it so that all my calculations are based on what precision is set for A in Table3. I started by converting all my decimals to decimal (30, 10) to allow for higher precisions if specified.
Wrap your results in a CAST
statement to set them to the desired precision. I.e.:
SELECT CAST((<query>) AS int) AS Result
Try using the ROUND function in a stored procedure that first retrieves the precision from your Table3
table.
精彩评论