繁体   English   中英

在SQL的where子句中添加月份

[英]Adding months in where clause in sql

我正在编写一个sp,用于获取特定日期字段未来6个月的数据,

SELECT CR.[Id] AS ClaimId
    ,CR.[BOLNumber]
    ,CR.[PRONumber]
    ,CR.[ClaimNumber]
    ,CR.[CompanyName]
    ,c.NAME AS CarrierName
    ,CR.[DateFiled]
    ,CONVERT(VARCHAR(10),CR.[DateFiled], 103) AS DateFiledString
    ,CR.[ClaimDate] AS ClaimReceivedDate
    ,CONVERT(VARCHAR(10), CR.[ClaimDate], 103) AS ClaimReceivedDateString
    ,CR.[AmountFiled]
    ,CR.[Status] AS StatusId
    ,CR.[SettledAmount]
FROM CarrierRate.Claims AS CR WITH (NOLOCK)
WHERE CR.CustomerId = @AccountUserId AND
 CR.Status = @statusType AND CR.ClaimDate < DATEADD(month,6,CR.ClaimDate)
ORDER BY CR.[Status] ASC

该字段是ClaimDate。 所以我做对了还是有什么需要改变的? 请建议

使用BETWEEN关键字指定日期范围。

WHERE CR.CustomerId = @AccountUserId AND
 CR.Status = @statusType AND
 CR.ClaimDate BETWEEN GETDATE() AND DATEADD(month,6,CR.ClaimDate)

你可以试试

CONVERT(DATE, CR.ClaimDate) < DATEADD(MONTH,6,CONVERT(DATE, CR.ClaimDate))

这里只考虑日期。

 (CR.ClaimDate BETWEEN DATEADD(month,-6,GETDATE()) AND GETDATE()
   OR @statusType <> 2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM