SQL中时间的处理

--时间的处理 
--
(1)短时间的处理
declare @S datetime
set @S=getdate()
--select (convert(varchar(10),@S,120))
--
select datediff(m,@S,3)
select replace(convert(varchar(10),@S,120),'-0','-')
--长时间的处理
declare @S datetime
set @S=getdate()
select
stuff(
stuff(convert(varchar(10),@s,112),5,0,''),8,0,'')+''
--日期第一天
declare @S datetime
set @S=getdate()
select convert(varchar(4),@s,120)+'0101'
--指定日期所在季度的第一天
declare @S datetime
set @S=getdate()
select convert(datetime,
convert(char(6),dateadd(month,datepart(qq,@S)*3-2,dateadd(month,-month(@S),@s)),112)+'01')
--指定日期所在的季度的最后一天
declare @S datetime
set @S=getdate()
select dateadd(day,-1,(convert(datetime,
convert(char(6),dateadd(month,datepart(qq,@S)*3+1,dateadd(month,-month(@S),@s)),112)+'01')))
--指定日期所在月份的第一天
declare @S datetime
set @S=getdate()
select convert(char(8),@s,120)+'01'
--指定日期所在月份的最后一天
declare @S datetime
set @S=getdate()
select dateadd(day,-1,convert(datetime,convert(char(8),dateadd(month,1,@s),120)+'01'))
--指定日期所在周的任意一天
declare @S datetime
set @S=getdate()
select dateadd(day,1,dateadd(day,-datepart(weekday,@s),@s))

  

posted @ 2011-09-16 10:47  风疑  阅读(249)  评论(0编辑  收藏  举报