2011-11-07 10 views
23

SQL Server 2008データベースがあります。このデータベースには「ブック」という表があります。SQL Server 2008での計算列の作成

  • ID(int型)
  • タイトル(NVARCHAR(256))
  • PublishDate(日時)

私はと呼ばれる計算列を作成する必要があります ": "ブック" は、以下の性質を有しますAgeInMinutes "とする。私はあまり計算列に精通していない。私はそのコンセプトを理解していますが、それをどうやって行うのかは分かりません。 SQL Server Management Studioの[Column Properties]領域には、[Table Designer]セクションの[(Formula)]というプロパティがあります。私はここに私の計算を入力する必要があると仮定します。しかし、私はここに何を入れるべきか分からない。誰か助けてくれますか?

ありがとうございました!

+0

この計算列を使用する予定はありますか? 'WHERE'節でそれを使用しないでください。完全なスキャンに終わるでしょう。 –

答えて

38

あなたCREATE TABLEように列を定義することができます。

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

はまた、ちょうどSSMSを通じて

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

私は、CREATE TABLE定義ではデータ型を指定しないことを明確にする価値があると思います。私はまずそれを見落とした。 – hurleystylee

0

修正計算列を行います。テーブルを右クリックして デザインを選択し、計算された列をクリックしてから列のプロパティ のように1つのオプションがあります。そこで計算された列の指定は変更することができます COMPUTED COLUMN。

関連する問題