
正文
sqlserver本月,sql上月
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
sqlserver查询本月所有不在这个时间段的数据(如 整个四月份不在 7.30-8.30 12.30-13.30这个时间段)?
首先你得有字段记录时间,假设这个字段是datetime类型,名为[create_time];
然后,可以使用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
相关问答
Q1: 在SqlServer中如何只取当前月日
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)
Q2: 用SQLserver数据库插入本月缺少的数据能否写个脚本?
把在5月有但6月没有的数据(条件是sDeptNum、sTypeNum相同)查出来,插入到表中即可,一条sql搞定
Q3: sqlserver怎么获得最后一周,最近一月的日期
1、最近一月比较简单,取当前时间的年份和月份,拼接成当前月份1号。
2、最后一周:取当前的时间为参考,用datepart取出时间的周编号,进行筛选,获取最近周1的日期,比如,表格a,日期字段rq
select max(rq) from 表格a
where datepart(weekday,rq) = 2 and rq 当前时间 按到 rq 本月1号;






