重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先你得有字段记录时间,假设这个字段是datetime类型,名为[create_time];
创新互联长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为雨花企业提供专业的成都做网站、网站制作,雨花网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
然后,可以使用datepart函数来获取一个时间类型的年、月、日、时、分、秒的值;
最后,可以将hour:minute转换为一个带小数的类型来比较,例如numeric(4,2)。
select * from ...
where datepart(month,updtime)=4
and not datepart(hour,create_time) +convert(numeric(4,2),datepart(minute,create_time))/100 between 7.3 and 8.3
and not datepart(hour,create_time) +convert(numeric(4,2),datepart(minute,create_time))/100 between 12.3 and 12.3
select * from 表名 where convert(varchar,日期,112) between CONVERT(varchar,getdate(),112) and convert(varchar,DATEADD(month,1,GETDATE()),112)
你可以把下边两句分别跑一下看下结果
select CONVERT(varchar,getdate(),112)
select convert(varchar,DATEADD(month,1,GETDATE()),112)
把在5月有但6月没有的数据(条件是sDeptNum、sTypeNum相同)查出来,插入到表中即可,一条sql搞定
1、最近一月比较简单,取当前时间的年份和月份,拼接成当前月份1号。
2、最后一周:取当前的时间为参考,用datepart取出时间的周编号,进行筛选,获取最近周1的日期,比如,表格a,日期字段rq
select max(rq) from 表格a
where datepart(weekday,rq) = 2 and rq 当前时间 按到 rq 本月1号;