A. sql 计算一个月几天
可以将年月组成一个月的第一天,再与下个月第一天比较差异天数
declare
@ym
varchar(6)
--年月
select
datediff(day,
cast(@ym+
'01'
as
datetime),dateadd(month,1,cast(@ym+
'01'
as
datetime))
)
B. sql获取获取近6个月的时间,格式'yyyy-mm',求指教
declare@iint
set@i=5
while@i>=0
begin
selectSUBSTRING(CONVERT(VARCHAR(100),dateadd(month,-@i,getdate()),23),1,7)
set@i=@i-1
end
效果如图:
C. SQL数据库语言 求某个日期所在月份有多少天
DECLARE @DATE DATETIME
SET @DATE='2007-02-02'
SELECT DATEDIFF(DAY,@DATE,DATEADD(MONTH,1,@DATE))
原理:本月的今天到下月的今天就是本月的天数,比楼上的都简单,:),LZ自己可以试试
D. SQL语句判断在一个固定时间到六个月后为条件
6个月后用dateadd
如:
时间 between '开始时间' and dateadd(month,6,'开始时间')
E. sql函数计算半年后的日期
查询半年内工作的员工,半年按6个月算,每个月按平均30天算,也就是当前日期减去180天;
Oracle 里的SQL如下:
F. 6个月是多少天用sql 怎么写
datediff(mm,0,getdate())用来计算出“0”和当前日期所相差的月份数,比如说相差10个月。
dateadd
(mm,x,0)
在0日期的基础上,加上x个月。
那么就相当于把去掉了日期,只留下了月份,也就是当前月份了。没有日期,也就是第一天的0点了。
G. sqlserver获取最近六个月天数总和,例如现在是八月份,我要获取2-7月份天数总和
declare
@Interval int, --间隔天数
@BeginDate DateTime, --开始时间
@EndDate DateTime --结束时间
begin
set @BeginDate = DATEADD(day,-DAY(DATEADD(MONTH,-6,GETDATE()))+1,DATEADD(MONTH,-6,GETDATE()))
set @EndDate = EOMONTH(DATEADD(MONTH,-1,GETDATE()))
set @Interval = DATEDIFF(day,@BeginDate,@EndDate)
select @Interval
end