sql 语句(日期所在月的第一天,最后一天)
2014-03-18 11:20
176 查看
转:sql 语句(日期所在月的第一天,最后一天)
2010-08-10 11:17 星期二月初 月末 sql 语句(日期所在月的第一天,最后一天)
www.111cn.net 2010-07-29 编辑:Crese
select dateadd(month,datediff(month,'1900-01-01','@bizDateFrom'),'1900-01-01')/*指定日期第一天*/
select dateadd(month,datediff(month,'1900-01-01','@bizDateFrom'),'1900-02-01')/*指定日期下个月第一天*/
select dateadd(year,datediff(year,'1900-01-01','2013-02-23'),'1900-01-01') /*指定日期年第一天*/
select dateadd(year,datediff(year,'1900-01-01','2013-04-23'),'1901-01-01') /*指定日期下一年第一天*/
月初,计算给定日期所在月的第一天
--这个计算的技巧是先计算当前日期到"1900-01-01"的时间间隔数,然后把它加到"1900-01-01"上来获得特殊的日期,这个技巧可以用---来计算很多不同的日期。
declare @date datetime
set @date=getdate()
select dateadd(month,datediff(month,'1900-01-01',@date),'1900-01-01') as '所在月的第一天'
--精简算法,根据sql server的时间表示方式可知,'1900-01-01' 可以用0代替
select dateadd(month,datediff(month,0,@date),0) as '所在月的第一天'
--上面两种算法精确到天 时分秒均为00:00:00.000
--下面算法课以保留时分秒
--思路:用给定日期减去月第一天与给定日期差的天数
select dateadd(day,1-datepart(day,@date),@date)
go--月末,计算给定日期所在月的最后一天
declare @date datetime
set @date=getdate()
--思路:当前月的下一月1号在减1天
select dateadd(day,-1,dateadd(month,1+datediff(month,'1900-01-01',@date),'1900-01-01')) as '所在月的最一天'
select dateadd(month,1+datediff(month,'1900-01-01',@date),'1900-01-01')-1 as '所在月的最一天'
--1900-01-01 用0代替
select dateadd(day,-1,dateadd(month,1+datediff(month,0,@date),0)) as '所在月的最一天'
select dateadd(month,1+datediff(month,0,@date),0)-1 as '所在月的最一天'
--思路:与月初计算思路相同
select dateadd(month,datediff(month,'1989-12-31',@date),'1989-12-31') as '所在月的最一天'
--精简算法,'1989-12-31' 用-1代替
select dateadd(month,datediff(month,-1,@date),-1) as '所在月的最一天'
--保留时分秒的算法
select dateadd(day,-1,dateadd(month,1,dateadd(day,1-datepart(day,@date),@date)))
go
相关文章推荐
- sql创建 自定义函数返回当前日期所在月的第一天最后一天
- 使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期)
- [转]使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串
- 使用SQL语句查询日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串
- 使用SQL语句查询日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串
- 使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期)
- PHP获得指定日期所在月的第一天和最后一天
- sql日期截取&生成第一天和最后一天
- SQL 计算每个月的第一天,最后一天,本月的天数,ORACLE中日期加减
- javascript日期处理-通过一个字符串的日期得到所在周、上周及下周的第一天和最后一天
- 如何获得本日所在周的第一天日期与最后一天日期
- 本月第一天和最后一天sql语句
- SQL语句,取日期最后一天
- SQL - 根据一日期获取该月的第一天和最后一天
- PHP获取指定日期所在月的第一天和最后一天
- 编写方法,输出给定日期所在月份的第一天和最后一天
- java Calendar Date 获取传入日期所在月或年的第一天和最后一天
- 第一篇博客:获取当前日期所在季度的第一个月的第一天和最后一个月的最后一天
- 获取某月第一天,最后一天的sql server脚本,SQL日期类型总结
- 使用 T-SQL 计算当日日期、本周第一天与最后一天