1. sql 语句 怎么获取指定月的第一天和最后一天
first_day()得到一个月中的第一天:如first_day(to_date('2008-5-22','yyyy-mm-dd')) 结果:2008-5-1
last_day()得到一个月最后的一天:如:last_day(to_date('2008-5-22','yyyy-mm-dd')) 结果:2008-5-31 ;
2. sql如何获取日期月份的第一天
如:给定的年月格式为20157,代表2015年7月。
取某月第一天:
SELECTCAST((LEFT('20157',4)+'-'+SUBSTRING('20157',5,LEN('20157'))+'-'+'01')ASDATETIME)
结果:
3. 使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期)
当月天数
selectday(dateadd(ms,-3,DATEADD(m,DATEDIFF(m,0,getdate())+1,0)))
当月第一天
selectdateadd(d,-day(getdate())+1,getdate())
当月最后一天
selectdateadd(d,-day(getdate()),dateadd(m,1,getdate()))
本年最后一天
selectdateadd(d,-day(getdate()),dateadd(m,12,getdate()))
当月第一个星期一
SELECTDATEADD(wk,DATEDIFF(wk,'',DATEADD(dd,6-DAY(getdate()),getdate())),'')
4. pl/sql 怎么提取指点时间的月初第一天
declare
rt_end Date;
rt_first varchar(20);
begin
rt_end:=to_date('2012-02-14','yyyy-mm-dd');
rt_first:=to_char(rt_end,'yyyy-mm')||'-01';
dbms_output.put_line(rt_first);
end;
/
我不清楚你的题目是要求什么的,所以也不知要怎么做,只能做这些。
希望这个对你有帮助!
5. sql获取时间区间内每月第一天和最后一天
如:给定的年月格式为20157,代表2015年7月。
取某月第一天:
SELECT CAST((LEFT('20157',4)+'-'+SUBSTRING('20157',5,LEN('20157'))+'-'+'01') AS DATETIME)
结果:
6. SQL中,怎么取当月第一天。
如:给定的年月格式为20157,代表2015年7月。
取某月第一天:
SELECTCAST((LEFT('20157',4)+'-'+SUBSTRING('20157',5,LEN('20157'))+'-'+'01')ASDATETIME)
结果:
7. sql如何取某年某月的第一天和最后一天
SELECT CAST((LEFT('20093',4)+'-'+SUBSTRING('20093',5,LEN('20093'))+'-'+'01') AS DATETIME)--第一天
SELECT DATEADD(DAY,-1,DATEADD(MONTH,1,CAST((LEFT('20093',4)+'-'+SUBSTRING('20093',5,LEN('20093'))+'-'+'01') AS DATETIME)))--最后一天
原理:第一天肯定是1号拉,最后一天是下个月第一天减一天。
本月第一天
SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate()), 0)) as mouthlastdate
下月第一天:
SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) as mouthlastdate
下下月第一天:
SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+2, 0)) as mouthlastdate
(7)sql取当月第一天扩展阅读
sqlserver 时间格式函数详细
--getdate 获取当前时间
select getdate()
--dateadd 原有时间加: 2013-02-17 13:20:16 此时间加12个月
select dateadd(MONTH,12,'2013-02-17 13:20:16') --返回:2014-02-17 13:20:16.000 (参数month可以改为 day,year等日期加相应的值)
--datediff 两个时间的差 (后面-前面=返回值)
select datediff(day,'2013-02-01','2013-02-18') --返回:17 (参数day可以改为 month,year等日期加相应的值)
--datepart 获取日期的某个部分整数
select DATEPART(month, '2013-2-17') --返回 2 (参数month可以改为 day,year等日期加相应的值)
--datename 获取指定部位的字符串
select datename(weekday, '2013-2-17') --返回 星期日 (参数weekday可以改为 day,year等日期加相应的值)
--day(), month(),year() 获取指定部位的字符串
select day('2013-2-15') --返回15
8. sql server 怎么查询当月第一天和最后一天,下月第一天与下月最后一天
selectcast(dateadd(day,-day(getdate())+1,getdate())asdate)当月第一天,
cast(dateadd(day,-1,datename(year,dateadd(month,1,getdate()))+datename(month,dateadd(month,1,getdate()))+'01')asdate)当月最后一天,
cast(datename(year,dateadd(month,1,getdate()))+datename(month,dateadd(month,1,getdate()))+'01'asdate)下月第一天,
cast(dateadd(day,-1,datename(year,dateadd(month,2,getdate()))+datename(month,dateadd(month,2,getdate()))+'01')asdate)下月最后一天
9. 如何将SQL中的日期字段的值改成当月的第一天呀
这样:
update 表
set 日期字段=dateadd(dd,-day(日期字段)+1,日期字段)
原理是,原日期减去原日期在当月所处的天数然后再加一天就是原日期当月1日的日期。
10. sql 获取当前月的第一天
DATEDIFF(mm,0,getdate())用来计算出“0”和当前日期所相差的月份数,比如说相差10个月。
DATEADD (mm,x,0)
在0日期的基础上,加上x个月。
那么就相当于把去掉了日期,只留下了月份,也就是当前月份了。没有日期,也就是第一天的0点了。