1
我们使用称为Instant Developer的非常高级的框架,其中Date部件以字符串形式实现。实现一个接口,我在我的项目库中添加了来自SQL Server的函数DATEADD (datepart , number , date)
。但是,当我把它称为,生成的代码,例如,SQL Server:将字符串'n','hh','d'转换为全局变量n,hh和d
SELECT dateadd('n',90,CONVERT(datetime, DATEREQUEST+TIMEREQUEST))
FROM [Ergo].[dbo].[MANUTENZIONI]
where TICKETMANUTE = 17723
但SQL Server上升斧异常,因为dateadd()
函数的第一个参数不正确,因为它不应该是一个字符串,但一个全局变量。有没有办法转换它?类似:
dateadd(case when 'n'='n' then n end, 90, CONVERT(datetime, DATEREQUEST+TIMEREQUEST))
为什么你不能产生'DATEADD包装函数(N,90,CONVERT(日期时间,DATEREQUEST + TIMEREQUEST)) '? – Backs
作为一个解决方法创建包装函数'dateadd_N(int,datetime)','dateadd_D(int,datetime)',... – Serg
因为我的框架不会让我......正如我写的,日期部分实现作为字符串。因此,如果我将'MinAdd'(分钟,90,日期)称为'分钟'被翻译成'n'... –