CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

如何取得当前月的第一天及最后一天

楼主ShinnyZhang(张大爽)2005-01-03 09:47:02 在 MS-SQL Server / 基础类 提问

各位XDJM,Happy   new   year!  
  在SQL   Server中如何取得当前月的第一天及最后一天。 问题点数:10、回复次数:13Top

1 楼didoleo(冷月无声)回复于 2005-01-03 09:51:01 得分 1

SELECT   DAY(DATEADD(dd,   -DAY(getdate()),   DATEADD(mm,   1,   getdate())))   AS   'Day   Number'Top

2 楼didoleo(冷月无声)回复于 2005-01-03 09:51:38 得分 0

当前月的第一天??  
  那除了1号,还会有别的吗?       :)Top

3 楼didoleo(冷月无声)回复于 2005-01-03 09:52:32 得分 0

在SQL   Server中如何取得当前月的第一天及最后一天。  
   
  第一天?   不明白?Top

4 楼futulove(福途£爱)回复于 2005-01-03 10:00:58 得分 0

楼主指的是不是日志的第一天和最后一天的Top

5 楼ShinnyZhang(张大爽)回复于 2005-01-03 10:05:42 得分 0

是这个意思就是若是当前2004年12月吧,我想取到日期为2004-12-01及2004-12-31  
  若当前为2005年1月,我想到到日期为2005-01-01及2005-01-31  
  就是想取每个月的第一天及最后一天的日期。请各位指点,谢谢!Top

6 楼didoleo(冷月无声)回复于 2005-01-03 10:23:56 得分 3

declare   @firstday   datetime  
  declare   @lastday     datetime  
  set     @lastday=cast(convert(char(7),getdate(),120)+'-'+   cast(DAY(DATEADD(dd,   -DAY(getdate()),   DATEADD(mm,   1,   getdate())))   as   varchar)   as   datetime)  
  set   @firstday=   dateadd(d,1,dateadd(m,-1,@lastday))  
  print   '当前月的第一天是:     '+convert(char(10),@firstday,120)  
  print   '当前月的最后一天是:     '+convert(char(10),@lastday,120)Top

7 楼didoleo(冷月无声)回复于 2005-01-03 10:25:26 得分 0

当前月的第一天是:     2005-01-01  
  当前月的最后一天是:     2005-01-31  
  Top

8 楼haaywwp(醉卧南疆)回复于 2005-01-03 10:42:12 得分 0

只取当前月第一天和最后一天  
  之间的日志(内容)不要吗Top

9 楼lvzhengrui(程程)回复于 2005-01-03 11:35:40 得分 1

第一天简单不用我讲了  
  最后一天select     dateadd(dd,   -day(getdate()),   dateadd(mm,1,getdate()))Top

10 楼DigJim(挖土)回复于 2005-01-03 11:52:44 得分 3

一个月第一天的SQL   脚本:  
            SELECT   DATEADD(mm,   DATEDIFF(mm,0,getdate()),   0)  
   
  本周的星期一  
            SELECT   DATEADD(wk,   DATEDIFF(wk,0,getdate()),   0)  
   
  一年的第一天  
            SELECT   DATEADD(yy,   DATEDIFF(yy,0,getdate()),   0)  
   
  季度的第一天  
            SELECT   DATEADD(qq,   DATEDIFF(qq,0,getdate()),   0)  
   
  当天的半夜  
            SELECT   DATEADD(dd,   DATEDIFF(dd,0,getdate()),   0)  
   
  上个月的最后一天  
              SELECT   dateadd(ms,-3,DATEADD(mm,   DATEDIFF(mm,0,getdate()),   0))  
   
   
  去年的最后一天  
            SELECT   dateadd(ms,-3,DATEADD(yy,   DATEDIFF(yy,0,getdate()),   0))  
   
  本月的最后一天  
            SELECT   dateadd(ms,-3,DATEADD(mm,   DATEDIFF(m,0,getdate())+1,   0))  
   
  本年的最后一天  
            SELECT   dateadd(ms,-3,DATEADD(yy,   DATEDIFF(yy,0,getdate())+1,   0))。  
   
  本月的第一个星期一  
            select   DATEADD(wk,   DATEDIFF(wk,0,                                                          
                                  dateadd(dd,6-datepart(day,getdate()),getdate())        
                                                                                                    ),   0)                          
   
   
  Top

11 楼DigJim(挖土)回复于 2005-01-03 11:53:31 得分 1

http://blog.csdn.net/digjim/archive/2003/10/25/18658.aspxTop

12 楼egxsun(egxsun)回复于 2005-01-03 12:31:24 得分 1

DigJim(挖土)的已经很全了Top

13 楼larruping(久有凌云志)回复于 2005-04-12 08:50:16 得分 0

markTop

相关问题

  • JAVA中如何取得当前月份
  • 请问如何取得当前月的天数?
  • ORACLE下的如何取得系统当前的年、月、日?
  • 如何取得当前月的最后一天 ?
  • webform,vb.net ,如何取得当前月份的第一天和最后一天?
  • 如何取得当前时间
  • 请教:如何“取得”当前的Cursor?
  • 如何取得当前源文件名!
  • 如何取得当前的分辨率
  • 如何取得当前Dll的路径?

关键词

  • dateadd
  • getdate
  • 当前月
  • lastday
  • datediff
  • firstday
  • 取得
  • wk
  • dd
  • 最后一

得分解答快速导航

  • 帖主:ShinnyZhang
  • didoleo
  • didoleo
  • lvzhengrui
  • DigJim
  • DigJim
  • egxsun

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo