Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192743
  • 博文数量: 90
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2017-08-23 16:48
文章分类

全部博文(90)

文章存档

2015年(1)

2011年(21)

2010年(59)

2009年(9)

我的朋友

分类: C/C++

2010-08-02 10:26:45

DECLARE @Date  DATETIME
SET @Date=GETDATE()
--前一天,给定日期的前一天
SELECT DATEADD(DAY,-1,@Date) AS '前一天'
--后一天,给定日期的后一天
SELECT DATEADD(DAY,1,@Date) AS '后一天'
GO


--月初,计算给定日期所在月的第一天
--
这个计算的技巧是先计算当前日期到“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()
--
阅读(1827) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-04-24 11:32:16

中国茶都铁观音茶原产地的种植户 铁观音茶网上做产地直销QQ:1093711096深入了解 联系电话:0595-26089432手机:15959974720 小苏 http://shop58065507.taobao.com/