日期型数据查询问题?
我现在有个如下的表,领书日期是用的nvarchar(50)类型,现在想统计某一 领书日期 段内的 教材数量。
1 应该怎样写sqlserver查询语句啊?
2 需不需要把 领书日期 改成 datatime 类型?需要注意什么吗?
学生领书表
结构
学号 领书日期 教材名称
20050001 2007-3-15 计算机教材
20060001 2006-2-17 市场营销教材
------解决方案----------------------想统计某一 领书日期 段内的 教材数量。
select count(*) from tb where convert(datime,领书日期 )between ...and....
2.最好用datetime类型
------解决方案--------------------恩,推荐在设计表结构的时候用datetime
不过在此,不用convert也可以between的
create table #temp
(a varchar(50),
b varchar(50),
c varchar(50)
)
insert into #temp
select '20050001 ', '2007-3-15 ', '计算机教材 ' union all select '20060001 ', '2006-2-17 ', '市场营销教材 '
select * from #temp
select count(*) from #temp where b between '2006-2-17 ' and '2007-3-15 '
--------
2