SQL Server - Columnas Consultadas SQL

 
Vista:
Imágen de perfil de Lizana
Val: 8
Ha aumentado su posición en 5 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Columnas Consultadas SQL

Publicado por Lizana (5 intervenciones) el 30/10/2019 16:24:21
alter table TBL_TR_MNGR_VCCNS
add DiasAdquiridos as((FechaActual - FechaIngreso)*15/365)

Necesito realizar una columna consultada pero me sale este error.
FechaActual = campo computed, es decir trae la fecha del sistema con GETDATE().
FechaIngreso = campo datetime, donde se insertan datos.

"No se permite la conversión implícita del tipo de datos datetime a int. Utilice la función CONVERT para ejecutar esta consulta"
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Columnas Consultadas SQL

Publicado por Isaias (4558 intervenciones) el 30/10/2019 16:38:15
Primero, no esta haciendo una consulta (query), esta ejecutando una instruccion DDL (Data Definition Languaje), ya que esta MODIFICANDO una tabla, agregando un campo CALCULADO.

Si estos dos campos son de tipo FECHA (FechaActual - FechaIngreso), NO PUEDE hacer un simple RESTORE entre ambos, debe utilizar la funcion DATEADD.

El error de conversion, lo da porque despues, intenta aplicar una MULTIPLICACION al resultado anterior: *15/365

¿Me explique?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lizeth Natalia
Val: 8
Ha aumentado su posición en 5 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Columnas Consultadas SQL

Publicado por Lizeth Natalia (5 intervenciones) el 30/10/2019 16:43:35
Que pena Isaías pero como soy nueva en esto de la programación no comprendo muy bien.

Entonces que debo hacer para poder hacer esta columna consultada?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Columnas Consultadas SQL

Publicado por Isaias (4558 intervenciones) el 30/10/2019 20:31:52
Empecemos por el principio, ¿Quieres crear una columna calculada en tu TABLA? o lo que quieres es ¿Hacer un query que te de dicho resultado?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lizeth Natalia
Val: 8
Ha aumentado su posición en 5 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Columnas Consultadas SQL

Publicado por Lizeth Natalia (5 intervenciones) el 30/10/2019 20:45:20
Necesito obtener el resultado de esta operación: ((FechaActual - FechaIngreso)*15/365) en el campo DiasAdquiridos, por lo que opté por hacer de esa columna una consultada con una columna (FechaActual ) la cual trae un getdate() y otra columna (FechaIngreso) que tiene tipo de datos date, y luego necesito otra columna (DiasAcumulados) tipo int la cual debe llevar una consulta que tome los datos de (DiasDisfrutados tipo int) - (DiasAdquiridos que es una columna consultada).

Según lo que veo es que no se puede hacer una operación con columnas consultadas, entonces estoy intentando hacer otra cosa. Estoy haciendo declaración de variables así:

1
2
3
4
5
6
7
8
9
10
11
DECLARE @DiasAcumulados int, @DiasDisfrutados int, @DiasAdquiridos int, @FechaIngreso date, @FechaActual date
 
set @DiasAdquiridos = ((select @FechaActual - @FechaIngreso from TBL_TR_MNGR_VCCNS )*15/365)
 
set @DiasAcumulados = (@DiasDisfrutados - @DiasAdquiridos)
 
set @DiasDisfrutados = (select DiasDisfrutados from TBL_TR_MNGR_VCCNS)
 
set @FechaIngreso = (select FechaIngreso from TBL_TR_MNGR_VCCNS  )
 
set @FechaActual = (select FechaActual from TBL_TR_MNGR_VCCNS )

pero ahora no sé como hacer para esas variables asignarlas a las columnas que se deben agregar.

No sé que me puedas aconsejar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Columnas Consultadas SQL

Publicado por Isaias (4558 intervenciones) el 30/10/2019 22:08:23
Va de nuevo

variables asignarlas a las columnas que se deben agregar.

¿A donde las vas a asignar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lizeth Natalia
Val: 8
Ha aumentado su posición en 5 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Columnas Consultadas SQL

Publicado por Lizeth Natalia (5 intervenciones) el 31/10/2019 13:33:50
Era otra idea que se me ocurrió;

Hacer declaración de variables, en ellas hacer todas las operaciones que necesito y luego esas mismas variables asignarlas a las columnas, es decir:
variable Columna
@DiasAdquiridos = DiasAdquiridos
@DiasAcumulados = DiasAcumulados
@FechaActual = FechaActual
@FechaIngreso = FechaIngreso

ahora si me hago entender?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Columnas Consultadas SQL

Publicado por Isaias (4558 intervenciones) el 31/10/2019 18:20:23
Lo siento señorita, no entiendo QUE DESEA HACER, si alterar una TABLA para crear una columna calculada o que desea hacer?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar