[英]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.