在SQL Server 2008中创建计算列

时间:2011-11-07 14:57:22

标签: sql-server-2008 calculated-columns

我有一个SQL Server 2008数据库。该数据库有一个名为“Book”的表。 “Book”具有以下属性:

  • ID(int)
  • 标题(nvarchar(256))
  • PublishDate(datetime)

我需要创建一个名为“AgeInMinutes”的计算列。我对计算列不是很熟悉。我理解这个概念,但我不知道该怎么做。在SQL Server Management Studio的“列属性”区域中,我在“表设计器”部分中看到一个名为“(公式)”的属性。我想我需要在这里输入我的计算。但是,我不知道该放什么。有人可以帮帮我吗?

谢谢!

2 个答案:

答案 0 :(得分:42)

您可以将CREATE TABLE中的列定义为:

AgeInMinutes as (DATEDIFF(minute, PublishDate, GETDATE())

或者,只需做

ALTER TABLE Book
ADD AgeInMinutes as (DATEDIFF(minute, PublishDate, GETDATE())

答案 1 :(得分:0)

通过SSMS修改计算列。右键单击表格 选择Design然后单击computed列,然后在列属性中查看 有一个选项,如。您可以更改计算列规范 计算栏。