ich die Tabelle mit dem Namen Firma mit Spalten Firmennamen, erstellen Datum usw.Monats weise Zähldatum Berechnung mit
Ich möchte die Anzahl der Unternehmen für diesen Monat erstellt bekommen.
Ich habe die gespeicherte Prozedur für die wöchentliche weise Zählung
CREATE PROCEDURE [dbo].[pr_NewCmpCount]
@StartDate DATETIME = NULL --'20130508'
, @EndDate DATETIME = NULL --'20130515'
AS
BEGIN
DECLARE @DateDiff INT
, @MainDate DATETIME
IF @StartDate IS NULL AND @EndDate IS NULL
BEGIN
IF (DATEPART(dw,GETDATE()) > 3)
SET @DateDiff = 0
ELSE
SET @DateDiff = 6
SET @MainDate = DATEADD (MINUTE, -30, DATEADD (HOUR, -5, DATEADD(wk, DATEDIFF(wk,@DateDiff,GETDATE()), 0)))
SELECT @StartDate = DATEADD (MINUTE, -30, DATEADD (HOUR, -5, DATEADD(wk, DATEDIFF(wk,0,@MainDate), -5)))
SELECT @EndDate = DATEADD (MINUTE, -30, DATEADD (HOUR, -5, DATEADD(wk, DATEDIFF(wk,0,@MainDate), 2)))
SELECT CONVERT (VARCHAR, Count(*)) AS [Count]
, CONVERT (DATE, DATEADD (DD, 1, @StartDate)) AS [StartDate]
, CONVERT (DATE, @EndDate) AS [EndDate]
FROM
Company WITH(NOLOCK)
WHERE CreateDate >= @StartDate
AND CreateDate < @EndDate
END
ELSE
IF ((CONVERT (DATE, @StartDate) < CONVERT (DATE, @EndDate)) AND (CONVERT (DATE, @EndDate) < CONVERT (DATE, GETDATE())))
BEGIN
SET @StartDate = CONVERT (DATE, @StartDate)
SET @EndDate = CONVERT (DATE, @EndDate)
SELECT @StartDate = DATEADD (MINUTE, -30, DATEADD (HOUR, -5, @StartDate))
SELECT @EndDate = DATEADD (MINUTE, 30, DATEADD (HOUR, 18, @EndDate))
SELECT CONVERT (VARCHAR, Count(*)) AS [Count]
, CONVERT (DATE, DATEADD (DD, 1, @StartDate)) AS [StartDate]
, CONVERT (DATE, @EndDate) AS [EndDate]
FROM
Company WITH(NOLOCK)
WHERE CreateDate >= @StartDate
AND CreateDate < @EndDate
END
ELSE
SELECT 'Please Run After Tuesday of Every Week or Given the Valid Date' [Count]
, CONVERT (DATE, @StartDate) AS [StartDate]
, CONVERT (DATE, @EndDate) AS [EndDate]
END
Ausgang für diese gespeicherte Prozedur ist
Count Startdate EndDate 10 2016-03-13 2016-03-22
Erwartete Ausgabe
Count Startdate EndDate 20 2016-02-01 2016-02-29
Wo muss ich in meine gespeicherten Prozedur ändern um monatlich weise zu zählen?