我们正在使用一个名为Instant Developer的高级框架,其中Date Parts实现为字符串。实现一个接口,我从我的项目的库中添加了SQL Server的函数ip_address
。但是当我调用它时,生成的代码就是
DATEADD (datepart , number , date )
但由于SELECT dateadd('n',90,CONVERT(datetime, DATEREQUEST+TIMEREQUEST))
FROM [Ergo].[dbo].[MANUTENZIONI]
where TICKETMANUTE = 17723
函数的第一个参数不正确,因此SQL Server上升轴异常,因为它不应该是字符串而是全局变量。有没有办法转换它?类似的东西:
dateadd()
答案 0 :(得分:2)
创建一个包装函数,它接受varchar作为一种间隔
create function myDateadd(@type varchar(5), @amount int, @dt datetime)
returns datetime
as
begin
return case @type
when 'n' then dateadd(n, @amount, @dt)
when 'd' then dateadd(d, @amount, @dt)
-- ...
end;
end
go
select dbo.myDateadd('n',60,getdate());