declaracion de variable y asignacion de valor

06/10/2005 - 22:11 por nelva | Informe spam
Estimados,

Estoy tratando de asignar a una variable tipo datetime una fecha, en la que
es estático el dia y el mes, lo unico que variara es el año en curso, la
asignacion que estoy usando me manda error.. Alguna Idea de como hacerlo
les detallo el Procedimiento almacenado.
CREATE PROCEDURE [OWNER]."PCA_AGUINALDO"
@FECHAFIN DATETIME
SET @FECHAFIN = '30/11/' &YEAR(GETDATE())
AS
SELECT RTRIM(Funcionarios.FUN_Nombre) + ' ' + Funcionarios.FUN_Apellidos
AS funcionario, Funcionarios.FUN_Fecha_Ingreso, Direcciones.DIR_ID,
Direcciones.DIR_Nombre, Cargos.CAR_ID,
Cargos.CAR_Nombre, Funcionarios.FUN_Salario, Funcionarios.FUN_Activo,
Funcionarios.FUN_ID,
DATEDIFF(month, Funcionarios.FUN_Fecha_Ingreso,
@FECHAFIN) * 30 + DAY(@FECHAFIN) - DAY(Funcionarios.FUN_Fecha_Ingreso)
- (CASE WHEN day(dbo.Funcionarios.FUN_Fecha_Ingreso)

= 30 AND day(@FECHAFIN) = 31 THEN 1 ELSE 0 END) AS antiguedad


FROM Funcionarios LEFT OUTER JOIN
Direcciones ON Funcionarios.DIR_ID Direcciones.DIR_ID LEFT OUTER JOIN
Cargos ON Funcionarios.CAR_ID = Cargos.CAR_ID
WHERE (Funcionarios.FUN_Activo = 1)
GO
 

Leer las respuestas

#1 Maxi
06/10/2005 - 22:22 | Informe spam
Hola, proba asi


CREATE PROCEDURE [OWNER]."PCA_AGUINALDO"
@FECHAFIN DATETIME
SET @FECHAFIN = '30/11/' + convert(VARCHAR(4),YEAR(GETDATE()))

...


bye





Salu2
Maxi


"nelva" escribió en el mensaje
news:
Estimados,

Estoy tratando de asignar a una variable tipo datetime una fecha, en la
que
es estático el dia y el mes, lo unico que variara es el año en curso, la
asignacion que estoy usando me manda error.. Alguna Idea de como hacerlo
les detallo el Procedimiento almacenado.
CREATE PROCEDURE [OWNER]."PCA_AGUINALDO"
@FECHAFIN DATETIME
SET @FECHAFIN = '30/11/' &YEAR(GETDATE())
AS
SELECT RTRIM(Funcionarios.FUN_Nombre) + ' ' +
Funcionarios.FUN_Apellidos
AS funcionario, Funcionarios.FUN_Fecha_Ingreso, Direcciones.DIR_ID,
Direcciones.DIR_Nombre, Cargos.CAR_ID,
Cargos.CAR_Nombre, Funcionarios.FUN_Salario, Funcionarios.FUN_Activo,
Funcionarios.FUN_ID,
DATEDIFF(month, Funcionarios.FUN_Fecha_Ingreso,
@FECHAFIN) * 30 + DAY(@FECHAFIN) - DAY(Funcionarios.FUN_Fecha_Ingreso)
- (CASE WHEN day(dbo.Funcionarios.FUN_Fecha_Ingreso)
= 30 AND day(@FECHAFIN) = 31 THEN 1 ELSE 0 END) AS antiguedad


FROM Funcionarios LEFT OUTER JOIN
Direcciones ON Funcionarios.DIR_ID > Direcciones.DIR_ID LEFT OUTER JOIN
Cargos ON Funcionarios.CAR_ID = Cargos.CAR_ID
WHERE (Funcionarios.FUN_Activo = 1)
GO


Preguntas similares