0

2 つの日付 (最後の 100 日) の間の値を取得しようとしています。ただし、私の列はテキストフィールドで、フォーマットされています:17.06.2013

SELECT
.....
WHERE Organizations.OrganizationID = '4360' 
AND convert(datetime,convert(varchar(10),StatisticsDate),104) BETWEEN       
    convert(datetime,GETDATE()-100,104) AND convert(datetime,GETDATE(),104) 
GROUP BY  Groups.Name, GroupStatistics.StatisticsDate

Mssql エラー: IS NULL または LIKE 演算子を使用する場合を除き、text、ntext、および image データ型を比較または並べ替えることができません。

誰かが私が間違っていることを教えてもらえますか?

ありがとうございました!:-)

アップデート:

[GroupStatisticsID] [int] IDENTITY(1,1) NOT NULL,
[GroupID] [int] NOT NULL,
[CreateUser] [nvarchar](max) NULL,
[StatisticsDate] [text] NULL,
[memberAttendants] [int] NOT NULL,
[Free] [int] NULL,
[FreeHours] [int] NULL,
[GroupName] [text] NULL,
[GroupNumber] [int] NULL,
[Ser] [text] NULL,
[SerNmbr] [int] NULL,
[SerName] [text] NULL

UPDATE2:私SELECT GETDATE()は私に与えた試してみました:それは2013-06-18 22:38:25:270 、使用するにはこのフォーマットに変換する必要があるということBETWEENですか?

4

1 に答える 1

0

between との日付比較は、すでにキャストしているため、問題ではありません。

Not text 値でグループ化する必要があります。

GROUP BY  Name, convert(datetime,convert(varchar(10),StatisticsDate),104)
于 2013-06-17T14:02:42.903 に答える