2010-08-10 11:17 星期二
月初 月末 sql 語句(日期所在月的第一天,最後一天)
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()
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語句
1.查詢所有的員工的部門名稱 select e.ename as員工,d.dname as部門 from emp e left join dept d on e.deptno d.deptno 2.查詢現有員工都有哪些職位 select distinct job as職位 from emp 3.查詢...
C 中獲取某天所在月的第一天與最後一天
今天同事在c 開發時,按月的時間段進行查詢,在乙個月的第一天與最後一天的判斷有失誤 取得某月或某天所在月的第一天 public static datetime firstdayofmonth datetime datetime 取得某月或某天所在月的最後一天 public static dateti...
日期獲取 得到當前月的第一天,得到當前月的最後一天
dateformat sdf new dateformat yyyy mm dd calendar calendar calendar.getinstance calendar.settime cardbalancereport.getstatisticstime 日期的月份第一天 calendar...