伯爵DIFFDATE超过规定值 - 第3步

沿着同样截至昨天问的问题,我还有一个“如果算上”的窘境。 现在我需要拉符合下列参数的条件条目的数量:

  1. ConditionLevelEntryID = 189
  2. CheckoffDate是ConditionEntryDateTime>14天
  3. CheckoffDate IS NULL和ConditionEntryDateTime为> 14天之

我已尝试查询(下面),其不工作。 返回的错误是下面的查询。 请帮我优化查询以获得准确的计数。 提前致谢。

select Count(*) from conditionentrytable c where conditionlevelentryid=189 and ((c.checkoffdate IS NULL and convert(varchar(12),DATEADD(day,14,c.conditionentrydatetime))) or DATEDIFF(dd,c.checkoffdate,c.conditionentrydatetime)>14)

服务器:消息170,级别15,状态1,7号线7号线:附近有语法错误')'。

--------------解决方案-------------

尝试这个:

SELECT COUNT(*)
FROM conditionentrytable c
WHERE conditionlevelentryid=189
AND DATEDIFF(dd, COALESCE(c.checkoffdate, GETDATE()),c.conditionentrydatetime) > 14

,甚至更好:

SELECT COUNT(*)
FROM conditionentrytable c
WHERE conditionlevelentryid=189
AND c.conditionentrydatetime > COALESCE(c.checkoffdate, GETDATE()) - 14

后者查询将使用一个综合指数(conditionlevelentryid, conditionentrydatetime)如果有,这将极有可能大大提高查询性能。

有些生疏,但我自己没有什么正在做的转换conditionentrydatetime在IS NULL表达式。

怎么样?

select Count(*)
from conditionentrytable c
where conditionlevelentryid=189
and
((c.checkoffdate IS NULL
and
DATEDIFF(dd,getdate(),c.conditionentrydatetime)>14)
or
DATEDIFF(dd,c.checkoffdate,c.conditionentrydatetime)>14))

分类:SQL 时间:2012-01-01 人气:0
本文关键词: SQL
分享到:

相关文章

  • 从SQL XML格式返回XML 2012-01-01

    这是我的查询: select EmployeeName, EmployeeSalary from Employee2 for xml path('EmployeeDetails') 回报 <EmployeeDetails> <EmployeeName>xxxxx</EmployeeName> <EmployeeSalary>5000.00000</EmployeeSalary> </EmployeeDetails> 我怎样才能输出 &

  • 一个正则表达式来提取SQL where子句 2012-01-01

    首先,我承认我不是真的正则表达式的尝试. 我知道如何使用它,但是当我想建立一个,它是别的东西......我要记录我的. 我想提取的SQL查询的WHERE子句. 我的目标是能够增加一个条件,就像这样: SELECT * FROM myTbl WHERE columnA = 'B' AND columnB = 'C' ORDER BY columnX GROUP BY columnZ LIMIT 5 至 : SELECT * FROM myTbl WHERE columnC = 'D' AND (c

  • SQL ALTER TRIGGER挂 2012-01-01

    我试图改变一个SQL Server 2000的更新触发器,但其并挂挂挂. 这可能是为什么发生,我能做些什么来解决呢? 这是一个漫长的触发,会是什么原因? 触发代码很长,但略如下: ALTER TRIGGER [dbo].[UP_AL_ItemUPCs] ON [dbo].[AL_ItemUPCs] FOR UPDATE AS SET XACT_ABORT ON Declare @vError varchar(254) Declare @iUpdateCount int Select @iUpda

  • 问题连接到SQL Express 2012-01-01

    我有我在本地运行两个Visual Studio 2010中的项目. 一个是云计算项目,并连接到蔚蓝表(发展)的存储除了本地的SQL Express,另一个是不是云项目. 这两个项目都尝试通过通过一个xsd以及直接通过数据绑定网格一个aspx产生类似的代码连接到本地SQL Express数据库. 非云项目连接罚款,但云项目失败的常见错误: "附加的文件C自动命名的数据库的尝试:\用户... MDF失败数据库具有相同名称的存在,或者指定的文件无法打开,或它位于UNC共享." 这两个项目使用

  • SQL SMO发布时装配不能被部署 2012-01-01

    我有一个关于若干有关SMO组件的部署有点问题. 我在我的项目中的以下5引用: 每一个在了库文件夹是从哪里添加引用,每个设置为复制本地=真正的一个.dll. 该项目文件显示了这一切都是为了,例如: <Reference Include="Microsoft.SqlServer.Smo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">

  • 数量不断增加的行返回SQL Server数据库 2012-01-01

    我有了,应该返回约23万行的查询SQL Server Express数据库. 问题是查询返回每次运行查询时约5行. 什么会导致这样的事情? 我跑"DBCC CHECKDB"但是这并没有改变行为. 有任何想法吗. 谢谢

  • 从SQL 2000 SP获取我的自定义错误消息 2012-01-01

    我有以下伪代码的SP ... BEGIN TRANSACTION set @errorLocation='Deleting Permissions' DELETE [tblUsrPermissions] WHERE lngUserID = @lngUserID if @@error>0 begin goto roll_back end COMMIT TRANSACTION set @errorLocation='' --clear error messages select @errorLoca

  • SQL注释头部的例子 2012-01-01

    只是想太明白人民的存储过程/函数等注释头的样子(所以发表您的例子)......我才真正看到了在SQL Server Management Studio中创建的,但我感兴趣的是其他人的样子......格式化,使用的字符,过程的信息/细节等我猜是真正使他们不同的... 对不起,如果这个问题没有意义...感谢堆! 存储在SQL Server Management Studio中(第9版)过程注释头默认: -- =============================================

  • 关于ASP.NET MVC,LINQ to SQL的2个问题 2012-01-01

    描述与ASP.NET Web表单比较优势和ASP.NET MVC的缺点. 取决于你的选择,以实现一个新的设计或开发和比较的源代码,或只是概念解释的想法,即利用作为ORM的LINQ的任务SQL类,使得与NHibernate相比于开发数据访问层为应用程序的概念. --------------解决方案------------- MVC是一个流行的标准. 我建议使用ASP.MVC比Web表单,因为它有MVC架构的所有优点. 你可以用很多视图引擎,如剃刀和NDjango. 对于ORM,你应该使用实体框架

  • SQL服务器如何显示的数据是在8月份? 2012-01-01

    好家伙,我有我的SQL代码的一个小问题,我必须只显示数据是2008年8月的一个月数据库. 到目前为止我的代码是这样的 我应该显示每个销售人员的销售在2008年八月份 SELECT p.BusinessEntityID,p.FirstName,p.LastName,ROUND(SUM(soh.TotalDue),2)AS'总归于销售'FROM Person.Person P,Sales.SalesPerson S,Sales.SalesOrderHeader WHERE SOH = p.Busin

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.360 (s). 10 q(s)