簡體   English   中英

如何僅將SQL視圖過濾到本月

[英]How to filter a SQL view to this month only

嗨,我是新來的,所以請對我好一點,我已經創建了一個SQL視圖,並且需要在excel中加載數據之前在sql中對其進行過濾,我只想將數據過濾到本月。

所以SQL是

SELECT DocumentNo, DocumentDate, TotalNetValue, TotalTaxValue, TotalGrossValue
FROM dbo.SOPOrderReturn

然后返回這個

表

我強烈建議您使用可以使用索引的版本:

SELECT DocumentNo, DocumentDate, TotalNetValue, TotalTaxValue, TotalGrossValue
FROM dbo.SOPOrderReturn
WHERE DocumentDate >= DATEADD(DAY, 1, EOMONTH(GETDATE(), -1)) AND
      DocumentDate < DATEADD(DAY, 1, EOMONTH(GETDATE());

因為沒有函數應用於DocumentDate ,所以優化程序將能夠使用索引。

請注意, EOMONTH()自SQL Server 2012起可用。早期版本中有等效的方法。

您可以使用月份功能獲取月份號並進行過濾。

SELECT DocumentNo, DocumentDate, TotalNetValue, TotalTaxValue, TotalGrossValue
FROM dbo.SOPOrderReturn where month(DocumentDate)=9 and Year(DocumentDate)=2018

您需要將文檔的月/年與當前月/年進行比較。

SELECT DocumentNo, DocumentDate, TotalNetValue, TotalTaxValue, TotalGrossValue
FROM dbo.SOPOrderReturn
WHERE MONTH(DocumentDate) = MONTH(getdate())
AND YEAR(DocumentDate) = YEAR(getdate())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM