您的位置:首页 > 其它

暂时用到日期的相关操作

2013-09-10 09:20 176 查看
ORACLE:

1.获取当前日期当前周,周一的日期

select trunc(sysdate+1, 'yyyy') - to_char(trunc(sysdate+1, 'yyyy'), 'd') - 5 +

(select to_char(sysdate+1, 'ww') from dual) * 7 startweek

from dual;

2.获取当前日期当前周,周日的日期

select trunc(sysdate+1, 'yyyy') - to_char(trunc(sysdate+1, 'yyyy'), 'd') + 1 +

(select to_char(sysdate+1, 'ww') from dual) * 7 as endweek

from dual;

3.Oracle中日期的表示:

select to_char(sysdate,'CC WW W D DDD YYYY/MM/DD year month day') FROM DUAL

CC 为世紀

WW 为一年中的周

W 为一個月中的周

D 为星期几

DDD 为一年中的第几天

year 为年

month 为月

day 为星期几

4.差今天是本月的第几周

select to_char(sysdate,'ww')-to_char(trunc(sysdate,'MM'),'WW')+1 weekOfMon from dual;

SQlServer

1.获取当前日期当前天的周一和周日日期

select

convert(varchar(10),getdate()-(datepart(weekday,getdate())-2),120),

convert(varchar(10),getdate()+(8-datepart(weekday,getdate())),120)

select DATEPART(HH,sendtime) 时间 ,COUNT(1) smo from tb_SMSLog (nolock) A -- group by CONVERT(varchar(100), A.SendTime, 23)

where datediff(day,sendtime,getdate())=1 and smstype='WXBD' group by DATEPART(HH,sendtime) order by 时间

2.SqlServer 日期问题,查询Convert 和DatePart这两个函数。效果不错哦

如下例:11月

where DATEPART(mm ,OA_MonthPlan.dOperTime)='11'

select DATEPART(HH,sendtime) 时间 ,COUNT(1) smo from tb_SMSLog (nolock) A -- group by CONVERT(varchar(100), A.SendTime, 23)

where datediff(day,sendtime,getdate())=1 and smstype='WXBD' group by DATEPART(HH,sendtime) order by 时间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: