2016-05-18 10 views
-1

、私は正しいSQL構文のための助けを必要としてください、どのように次の操作を行います。SQLサーバーのカウントデータ列を異なる日付間で取得する方法と各日付に時間範囲がありますか?

SELECT count(CreateDateTime) 
FROM tblINFO 
WHERE 
(CreateDateTime BETWEEN '2016-03-22 06:59:00' AND '2016-03-22 14:59:00') 
OR 
(CreateDateTime BETWEEN '2016-04-14 06:59:00' AND '2016-04-14 14:59:00') 

私はこのコードを試みたが、それだけ与えられた時間の間、これらの2日間(CreatedDateTime)の数を計算し、しかし、私は同じ時間の間にそれらの2日間の間にある日数を計算する必要もあります。

ありがとうございます。

+0

を助けるかもしれない、私はあなたが達成しようとしているものをあなたの言葉で説明するならば、それはより分かりされている可能性があると思います。 –

答えて

1

私はあなたの質問を2通り解釈できます。最初の1つは、作成された日付がいずれかの日にあることを望むということです。その場合は、これを行います。

SELECT count(CreatedDateTime) 
FROM tblINFO 
WHERE 
(createdDateTime BETWEEN '2015-03-22 06:59:00' AND '2015-03-22 14:59:00') 
OR 
(createdDateTime BETWEEN '2015-04-14 06:59:00' AND '2015-04-14 14:59:00') 

代替は、あなたが作成した日付はあなたがこれを持っていると思います。その場合には、これら二つの日付の開始と終了の間になりたいということでしょう。

SELECT count(CreatedDateTime) 
FROM tblINFO 
WHERE createdDateTime BETWEEN '2015-03-22 06:59:00' AND '2015-04-14 14:59:00' 

2015-03-22から2015-04-14の間のこれらの時間の間のすべての時間が経過している場合は、このようなものが必要です。

そして、1日ごとに分割されているすべての日のカウントを表示したい場合は、この値が必要です。

SELECT 
CONVERT(Date,CreatedDateTime) Date 
,count(CreatedDateTime) Volume 
FROM tblINFO 
WHERE 
(CONVERT(DATE,createdDateTime) BETWEEN '2015-03-22' AND '2015-04-14') 
AND 
(CONVERT(TIME,createdDateTime) BETWEEN '06:59:00' AND '14:59:00') 
GROUP BY CONVERT(Date,CreatedDateTime) 
+0

返事をいただきましてありがとうございます。しかし、私はCreatedDateTimeのカウントが必要です – Oracleman

+0

これはコードが提供するものですか?最初のコードは、指定された時間の間の2日間のうちのいずれかに作成された日付時刻のものをすべて見つけます。あなたは実際にあなたが望むものでより記述的になりますか?元の質問をいくつかのサンプルデータで更新し、期待される結果が得られれば、私の答えをもう一度見直してください。 –

+0

私はあなたの興味を、最初のコードのために、それは与えられた時間の間だけ2日間のCreatedDateTimeの数を計算しましたが、私は同じ所与の時間の間のそれらの2日間の間の日のカウントも計算する必要があります。 – Oracleman

1

私が正しくあなたの条件を理解している場合、これはあなたに

SELECT count(CreatedDateTime) 
FROM tblINFO 
WHERE (createdDateTime BETWEEN '2015/03/22 6:59:00' AND '2015/03/22 14:59:00') 
OR(createdDateTime BETWEEN '2015/04/14 6:59:00' AND '2015/04/14 14:59:00') 
OR(createdDateTime BETWEEN '2015/03/22 6:59:00' AND '2015/04/14 14:59:00') 
+0

ありがとうJaydipJ。私は前にこのコードを試しましたが、それは与えられた時間の間だけそれらの2日間のCreatedDateTimeの数を計算しました。しかし、私は同じ所与の時間の間のそれらの2日間の間にある日のカウントも計算する必要があります。 – Oracleman

+0

@Oracleman okは、2015/03/22 6:59:00と2015/04/14 14:59:00 'の間に数えます。 –

関連する問題