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'... –