2017-06-09 23 views
0

私は次のような構造を持つテーブルをしました:SQLテーブルの列から欠落した日付を見つける方法は?

TABLE [dbo].[UploadedFiles](
[ID] [int] IDENTITY(1,1) NOT NULL, 
[FileName] [varchar](100) NULL, 
[FilePath] [varchar](200) NULL, 
[UploadedBy] [varchar](50) NULL, 
[DateCreated] [datetime] NULL, 

screen shot of the table

は私が見つけて、[DateCreated]列に基づいて不足しているこれらの日付を表示する必要があります。たとえば、今月3日のデータがデータベースの[DateCreated]列にない場合は、それを見つけて表示する必要があります。しかし、残念ながら私はこれを行う方法を見つけることができません。ここにいる誰かが私を助けることができれば、私は大いに感謝しています。 ありがとうございます。

+0

https://senseful.github.io/web-tools/text-table/を使用してデータを貼り付け、テキスト表に変換します。 – SqlZim

+0

データベースの最大日付と最小日付の間にすべての値がありますか? – Whencesoever

答えて

0

タリー/カレンダーテーブルがあります。

しかし、あなたは例

アドホック集計テーブルを経由してこれを行うことができ

Select MissingDate = D 
From (Select Top (DateDiff(DAY,(Select min(DateCreated) from UploadedFiles),(Select max(DateCreated) from UploadedFiles))+1) 
       D=DateAdd(DAY,-1+Row_Number() Over (Order By (Select Null)),cast((Select min(DateCreated) from UploadedFiles) as date)) 
     From master..spt_values n1,master..spt_values n2) A 
Left Join UploadedFiles B on D=cast(DateCreated as date) 
Where DateCreated is null 

戻り

MissingDate 
2017-06-03 

サンプルデータ

DateCreated 
2017-06-01 11:47:00.000 
2017-06-02 11:41:00.000 
2017-06-04 11:55:00.000 
2017-06-05 11:79:00.000 
+0

ありがとうございました – user7336033

+0

@ user7336033ハッピー・イズ・ヘルプ –

関連する問題