# Computed Columns
# A column is computed from an expression
A computed column is computed from an expression that can use other columns in the same table. The expression can be a noncomputed column name, constant, function, and any combination of these connected by one or more operators.
Create table with a computed column
Create table NetProfit
(
SalaryToEmployee int,
BonusDistributed int,
BusinessRunningCost int,
BusinessMaintenanceCost int,
BusinessEarnings int,
BusinessNetIncome
As BusinessEarnings - (SalaryToEmployee +
BonusDistributed +
BusinessRunningCost +
BusinessMaintenanceCost )
)
Value is computed and stored in the computed column automatically on inserting other values.
Insert Into NetProfit
(SalaryToEmployee,
BonusDistributed,
BusinessRunningCost,
BusinessMaintenanceCost,
BusinessEarnings)
Values
(1000000,
10000,
1000000,
50000,
2500000)
# Simple example we normally use in log tables
CREATE TABLE [dbo].[ProcessLog](
[LogId] [int] IDENTITY(1,1) NOT NULL,
[LogType] [varchar](20) NULL,
[StartTime] [datetime] NULL,
[EndTime] [datetime] NULL,
[RunMinutes] AS (datediff(minute,coalesce([StartTime],getdate()),coalesce([EndTime],getdate())))
This gives run difference in minutes for runtime which will be very handy..