0
我希望在我的代碼中讀取數據庫當前月份的數據應該在上個月的24日到本月23日之間。換句話說,日曆月份在24到23之間。需要在24到23日的範圍內的月份
我正在使用以下代碼。
月,年計算
<cfset curmonth=Month(now())>
<cfif #curmonth# eq 1>
<cfset prevmonth=12>
<cfelse>
<cfset prevmonth=#curmonth# - 1>
</cfif>
<cfset curyear=Year(now())>
<cfset prevyear=#curyear# - 1>
這是查詢:
<cfquery name="GetMonthlySpentbudget" datasource="#Application.ds#" dbtype="ODBC">
SELECT
IF(SUM(amount) IS NULL,0,SUM(amount)) as monthlyspentbudget
FROM orders o
WHERE
<cfif #curmonth# neq 1>
if(IsOverBudget=1,
DATE(ApprovedDate1)>='#curyear#-#prevmonth#-24' AND
DATE(ApprovedDate1)<='#curyear#-#curmonth#-23',
DATE(ApprovedDate)>='#curyear#-#prevmonth#-24' AND
DATE(ApprovedDate)<='#curyear#-#curmonth#-23'
)
<cfelse>
if(IsOverBudget=1,
DATE(ApprovedDate1)>='#prevyear#-#prevmonth#-24' AND
DATE(ApprovedDate1)<='#curyear#-#curmonth#-23',
DATE(ApprovedDate)>='#prevyear#-#prevmonth#-24' AND
DATE(ApprovedDate)<='#curyear#-#curmonth#-23'
)
</cfif>
AND
FacilityID= #FacilityID#
AND
o.ApprovedFlag = 1
AND
o.ApprovedFlag1 = 1
</cfquery>
現在我想總月,逐另一個查詢。這是查詢:
SELECT
MONTHNAME(approveddate1) AS sMonth,
YEAR(approveddate1) AS iYear,
SUM(o.amount) AS TotalSale,FacilityId
FROM orders AS o
WHERE
o.ApprovedFlag = 1
AND
o.ApprovedFlag1 = 1
GROUP BY FacilityId, MONTH(approveddate1)
Order by FacilityId, iyear, smonth
如何我應該修改查詢來獲取24到23範圍內的月份嗎?
對不起 - 什麼?閱讀這幾次,我仍然沒有明白你的意思。你是說你想要從本月24日到23日的數據? 11月25日會發生什麼? –
大概二月..閏年...... – xQbert
這不是一個真正的ColdFusion問題,是嗎?你只是尋求幫助看起來像SQL。另外,你的CF代碼也有很多問題,比如不恰當的使用#,而不是使用'cfqueryparam'。 – ale