SQL查询通知和GETDATE()
-
22-07-2019 - |
题
我目前的工作是一个注册为查询通知的查询。按照W /通知Serivces的规则,我只能在设立订阅我的查询使用确定性的功能。然而,GETDATE()(几乎是我能想到的任何其他方式)的非确定性。每当我拉我的数据,我想能够限制结果设置为只相关记录,这是由当前日期确定。
有谁知道周围的工作是我可以使用,将允许我使用当前日期来过滤我的结果,但不是查询通知无效查询?
实施例编号:
SELECT fcDate as RecordDate, fcYear as FiscalYear, fcPeriod as FiscalPeriod, fcFiscalWeek as FiscalWeek, fcIsPeriodEndDate as IsPeriodEnd, fcPeriodWeek as WeekOfPeriod
FROM dbo.bFiscalCalendar
WHERE fcDate >= GetDate() -- This line invalidates the query for notification...
其他的想法:
我们已经在我们的数据库的应用程序的控制表,我们用它来存储应用程序级别设置。我曾想过写一个小的脚本,保持记录最新的W /德电流SMALLDATETIME。然而,我加入到这个表是失败的notificaiton还有,我不知道为什么。我猜测,这事做瓦特/我specifitying文字类型(列名),这是令人沮丧的。
实施例编号2:
SELECT fcDate as RecordDate, fcYear as FiscalYear, fcPeriod as FiscalPeriod, fcFiscalWeek as FiscalWeek, fcIsPeriodEndDate as IsPeriodEnd, fcPeriodWeek as WeekOfPeriod
FROM dbo.bFiscalCalendar
INNER JOIN dbo.xApplicationControls ON fcDate >= acValue AND acName = N'Cache_CurrentDate'
有没有人有什么建议吗?
编辑:这里是一个上MSDN ,使该链路通知服务规则
解决方案
事实证明,我想出溶液。基本上,我在我的无效尝试查询,因为我是铸造价值,这标志着它作为非确定性日期时间。即使你没有特别请出了铸造,但做一个类似于:
RecordDate = 'date_string_value'
您还结束了W / A日期演员。希望这将有助于从别人谁打了这个问题。
此链接帮助我不少。
其他提示
要绕过一个很好的办法就是创建一个视图,只是说:“SELECT GETDATE()和现在一样”,然后使用视图查询。
编辑:我看不到任何关于不使用用户定义函数(这是我用过的“今日看法”位)。所以,你可以在一个指向该视图的查询中使用UDF?
不隶属于 StackOverflow