2011-11-07 16 views
23

Tengo una base de datos de SQL Server 2008. Esta base de datos tiene una tabla llamada "Libro". "Libro" tiene las siguientes propiedades:Crear una columna calculada en SQL Server 2008

  • ID (int)
  • Título (nvarchar (256))
  • PublishDate (fecha y hora)

Necesito crear una columna calculada denominada " AgeInMinutes ". No estoy muy familiarizado con las columnas calculadas. Entiendo el concepto, pero no estoy seguro de cómo hacerlo. En el estudio SQL Server Management, en el área "Propiedades de columna", veo una propiedad llamada "(Fórmula)" en la sección Diseñador de tablas. Supongo que necesito ingresar mi cálculo aquí. Sin embargo, no estoy seguro de qué poner aquí. ¿Alguien puede ayudarme?

¡Gracias!

+0

¿Para qué planea usar esta columna calculada? No lo use en una cláusula 'WHERE' ya que terminará con un escaneo completo. –

Respuesta

38

Se puede definir la columna en su CREATE TABLE como:

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

Como alternativa, simplemente

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

Creo que vale la pena aclarar que en la definición de CREATE TABLE, no se especifica un tipo de datos. Lo pasé por alto al principio. – hurleystylee

0

Modificar columna calculada a través de SSMS. Haga clic derecho en la tabla y seleccione Diseñar luego haga clic en la columna calculada y luego vea en las propiedades de la columna hay una opción como. Especificación de columna computada allí puede alterar COLUMNA COMPUTADA.

Cuestiones relacionadas