有人可以告诉我我在这里失踪了吗?我认为我的代码看起来很美,直到我为昨天的结果运行最后2行。列在那里,但它们是空的。如果我使用分配的日期行,数据显示完美。这让我觉得错误是在选择转换语句...但我已经尝试了每一件事情。datediff with convert - 显示昨天的行 - 不返回行
SELECT RTRIM(r.acct_no) as acct_no, CONVERT(varchar,t.doc_date,101)as doc_date, t.doc_amt,
LEFT(t.batch_no,4) as batch_no
FROM ESUTRANH t
INNER JOIN ESUTRAND d on t.tran_id = d.tran_id
INNER JOIN ESUACCTR r on d.acct_id = r.acct_id
INNER JOIN ESUCUSTJ j on r.acct_id = j.acct_id
WHERE (t.batch_no is null or LEN(t.batch_no) > 1)
--AND t.doc_date between '05/09/2017' and '05/10/2017'
AND t.doc_date >= dateadd(day,datediff(day,1,GETDATE()),0)
AND t.doc_date < dateadd(day,datediff(day,0,GETDATE()),0)
您的查询显示逻辑上正确。因此,请验证您是否应该包含行 - 不要假设。尝试: 从ESUTRANH中选择top 10 *其中doc_date
SMor