SQL语句如何判断时间过了一个月

假设我要判断每个月是否到达了四号,进行对比的时间是系统当前时间... 假设我要判断每个月是否到达了四号,进行对比的时间是系统当前时间 展开
 我来答
Baby_原來
2015-11-25 · TA获得超过3402个赞
知道大有可为答主
回答量:1535
采纳率:94%
帮助的人:508万
展开全部
DECLARE @oldDate DATETIME
SET @oldDate='2015-10-25 10:25:00'  --给初始赋值
SET @oldDate=DATEADD(M,1,@oldDate)  --初始值加上一个月
SELECT DATEDIFF(SS,@oldDate,GETDATE())  ---将当前时间与加上一个月时间的初始值比较,值大于0则表明时间间隔大于一个月,此句中的DATEDIFF()中的SS是比较秒的,是将比较精度到秒,可以使用MM/HH/DAY等

判断时间过了一个月思路是

1、由时间开始(@oldDate),赋初始值

2、时间开始再加上一个月的时间,由于月份不同天数不同,所以,使用DATEADD函数比较好的效果

3、此时,@oldDate是已过一个月时间后的时间,再与当前时间比较,大于0则超过当前时间,即是时间过了一个月,否则,时间不足一个月

tj_angela
2013-04-11 · TA获得超过7530个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2594万
展开全部
sqlserver:
select case when (dateadd(mm,-1,getdate()) - 你的日期字段)>0 then '过了一个月' else ‘没过' end
oracle:
select case when (add_month(sysdate,-1)) - 你的日期字段)>0 then '过了一个月' else ‘没过' end from dual;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
atwt27
2015-11-17 · TA获得超过149个赞
知道小有建树答主
回答量:216
采纳率:100%
帮助的人:111万
展开全部
判断 Date2 是否为 Date1 一个月这后的日期。
(Date2,Date1, 改为具体的日期)

if Date2 > DATEADD( MONTH,1,Date1)
begin
print '过了一个月了'
end
else
begin
print '没过一个月'
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在生态园踏青的葵花子
2013-04-11 · TA获得超过199个赞
知道小有建树答主
回答量:213
采纳率:100%
帮助的人:124万
展开全部
to_char(sysdate,'dd')>='04'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心碎夜4k
2013-04-11 · 超过17用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:40万
展开全部
select case when DAY(GETDATE())='4' then 'a' else 'b' end from master..spt_values where type='p'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式