我想要完成的是更新此查询以便能够像getdate函数一样自动拉出当前日期,这样日期就不必每天手动更新。
use n
select id, type, name, log_time , start_time , documents_created , pages_created, processed, processed_time
from N_LF_OCR_LOG
where
--name like 'C-INV00410249%' -- CI11667474 (6).pdf'
log_time between '2017-3-07 00:00:00.000' and '2017-3-07 23:59:00.000'
and documents_created <> 0
or ( documents_created is null and log_time between '2017-3-07 00:00:00.000' and '2017-3-07 23:59:00.000' )
order by log_time
然后从执行的结果中,我想要另一个查询来查询这些结果,以便在以下时间显示: 来自TYPE列的任何结果&gt;名为'email ocr in type&amp;普遍生产' 'documents_created&amp; pages_created'数字不匹配。 (见下图)
同时报告是否缺少这些行'NULL'文件或少于7个文件。
答案 0 :(得分:0)
这是在SO上发布时创建测试用例的好方法。 Link to your SQL query我将你的AND / OR布尔逻辑修改为我认为你想要完成的东西并添加了注释。
将当前日期添加到过滤器是通过表达式完成的:
今天午夜是通过将getdate()转换为删除时间部分的日期来创建的
CONVERT(date,getdate())
今天晚上11:59有点复杂,但基本上将日期时间转换为浮动表示,删除时间部分并添加“23:59”的特定时间。回到它
CONVERT(datetime,floor(CONVERT(float,getdate())))+&#39; 23:59:00&#39;
第2部分,我不相信您需要在结果之上创建另一个查询以获得您想要的内容。您只需添加其他条件,您就可以使用创建的过滤器过滤到所需的类型。
如果你想再次查询你的结果,你需要创建一个WITH子句,然后你可以执行&#34; second&#34;查询如下:
-- first query
WITH my_subquery as (
SELECT 1 as num
FROM tbl)
-- second query
SELECT max(num)
FROM my_subquery
修改强> 根据要求,here是第一个查询的链接(没有类型过滤器和页面创建过滤器),here是第二个查询的链接(使用类型过滤器和页面创建过滤器)。