我试图在两个日期(最后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
?
答案 0 :(得分:0)
与您之间的日期比较不是您的问题,因为您已经提出过。
您必须使用非文本值分组:
GROUP BY Name, convert(datetime,convert(varchar(10),StatisticsDate),104)