【发布时间】:2015-05-19 21:57:43
【问题描述】:
在这里,我构建了一个查询,用于检索从今天到 11 个月前的保单到期日期。
由于此查询确实检索数据,因此我需要更改查询以从当前日期检索 1 年前和之前一年的数据。
例如,我需要在 2013 年 5 月 19 日和 2014 年 5 月 19 日之间过期的保单。
我正在尝试使用 between 函数调用,但不知道如何实现它。
这是我目前的数据,如下所示:
Customer Number| Name | EMail | Producer | Policy Expired
abcde-12345-fghij-67890 | Bob Builder | somewhere@email.com | 31000 | Dora Explorer | 2014-07-29
abcde-12345-fghij-67890 | Bob Builder | somewhere@email.com | 31000 | Dora Explorer | 2014-08-07
abcde-12345-fghij-67890 | Bob Builder | somewhere@email.com | 31000 | Dora Explorer | 2014-08-10
SELECT DISTINCT
Customer.custno as [Customer Number],
CONCAT(Customer.FirstName, ' ', Customer.LastName) AS Name,
Customer.EMail,
(isnull(Employee.Firstname + ' ','') + isnull(Employee.LastName,'')) AS Producer,
BasicPolInfo.polexpdate as [Policy Expired]
FROM
Customer INNER JOIN
BasicPolInfo ON Customer.CustId = BasicPolInfo.CustId INNER JOIN
Transaction ON BasicPolInfo.PolId = Transaction.PolId INNER JOIN
GeneralLedgerBranch ON Customer.GLBrnchCode = GeneralLedgerBranch.GLBrnchCode INNER JOIN
GeneralLedgerDepartment ON Customer.GLDeptCode = GeneralLedgerDepartment.GLDeptCode INNER JOIN
GeneralLedgerDivision ON Customer.GLDivCode = GeneralLedgerDivision.GLDivCode INNER JOIN
Employee ON BasicPolInfo.ExecCode = Employee.EmpCode
WHERE
Customer.firstname IS NOT NULL
AND Customer.EMail IS NOT NULL
AND Customer.Active = 'Y'
AND Customer.typecust = 'P'
AND BasicPolInfo.PolExpDate >= DATEADD(MONTH, -10,CONVERT(VARCHAR(11),GETDATE(),106))
AND BasicPolInfo.PolExpDate <= CONVERT(VARCHAR(11),GETDATE(),106)
AND BasicPolInfo.status <> 'D'
AND GeneralLedgerDepartment.Name = 'Personal -'
ORDER BY BasicPolInfo.PolExpDate ASC
以上,我正在尝试翻译
AND BasicPolInfo.PolExpDate >= DATEADD(MONTH, -10,CONVERT(VARCHAR(11),GETDATE(),106))
AND BasicPolInfo.PolExpDate
进入 2013 年 5 月 19 日至 2014 年 5 月 19 日之间。我该怎么办?
我在网上查了一下,但无法得出结论。
【问题讨论】:
标签: sql sql-server between