select from ms_cf01 a where akfrq between to_date('20100101 180000','yyyymmdd hh24miss')
and to_date('20101231 180000','yyyymmdd hh24miss')
and to_char(akfrq,'hh24miss') between '180000' and '240000'
主要用到 to_char,to_date对时间字段的转换方法,具体使用方法可baidu
如果这么查询,主要是第2个条件无法用上索引,所以最好的方式是在涉及表的时候将该字段拆成2个字段 日期 ,时间,并用整形表示
保存的时候把html代码也保存就行了。
显示的时候就有格式了。
比如存的是
<p>公司信息</p><p>afdadsf,</p>
显示的时候就是分两段的
selectfrom表where日期字段>='开始日期'and日期字段<='截止日期'
andconvert(char(8),日期字段,108)>='开始时间'and convert(char(8),日期字段,108)<='截止时间'
例如:
selectfromtb1wheredDate>='2010-11-05'anddDate<='2010-11-15'
andconvert(char(8),dDate,108)>='22:30:00'and convert(char(8),dDate,108)<='23:00:00'
--不知道你要的是不是这样的结果
Create table T
(
籍贯 varchar(10) ,性别 varchar(2), 生日 varchar(10)
)
insert into t values('四川' , '男', '19890627')
insert into t values('新疆' , '男', '19930711')
insert into t values('河南' , '男', '19890623')
insert into t values('四川' , '女', '19880512')
insert into t values('新疆' , '男', '19950425')
insert into t values('河南' , '女', '19800304')
Select 籍贯,性别 ,
Sum(Case When 年龄 <=20 Then 1 Else 0 End) As [0-20岁(人)],
Sum(Case When 年龄 Between 21 And 40 Then 1 Else 0 End) As [21-40岁(人)],
Sum(Case When 年龄 Between 41 And 60 Then 1 Else 0 End) As [41-60岁(人)],
Sum(Case When 年龄 >=61 Then 1 Else 0 End) As [60岁以上(人)]
From
(
Select , Year(GETDATE())- Year(convert(Datetime,生日)) As 年龄
From t
) s
Group By 籍贯,性别
with rollup
create table TB (ID int,NUM nvarchar(20))
insert into TB values(1,'2;3;')
insert into TB values(2,'4;5;')
insert into TB values(3,'6;7;')
第一个:
select from tb
where NUM like '2%'
结果:
1 2;3;
第二个:
select from tb
where SUBSTRING(NUM,1,1)=2
结果:
1 2;3;
以上就是关于sql如何按时间段来查询全部的内容,包括:sql如何按时间段来查询、从数据库查出来一大段文字后,怎样分段的显示在页面上、SQL语句中,按时间段间隔查询怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)