sql如何按时间段来查询

sql如何按时间段来查询,第1张

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语句中,按时间段间隔查询怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10200916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存