MSSQL中简单的时间处理

  1. --时间的处理
  2. --(1)短时间的处理
  3. declare@Sdatetime
  4. set@S=getdate()
  5. --select(convert(varchar(10),@S,120))
  6. --selectdatediff(m,@S,3)
  7. selectreplace(convert(varchar(10),@S,120),'-0','-')
  8. --长时间的处理
  9. declare@Sdatetime
  10. set@S=getdate()
  11. select
  12. stuff(
  13. stuff(convert(varchar(10),@s,112),5,0,'年'),8,0,'月')+'日'
  14. --日期第一天
  15. declare@Sdatetime
  16. set@S=getdate()
  17. selectconvert(varchar(4),@s,120)+'0101'
  18. --指定日期所在季度的第一天
  19. declare@Sdatetime
  20. set@S=getdate()
  21. selectconvert(datetime,
  22. convert(char(6),dateadd(month,datepart(qq,@S)*3-2,dateadd(month,-month(@S),@s)),112)+'01')
  23. --指定日期所在的季度的最后一天
  24. declare@Sdatetime
  25. set@S=getdate()
  26. selectdateadd(day,-1,(convert(datetime,
  27. convert(char(6),dateadd(month,datepart(qq,@S)*3+1,dateadd(month,-month(@S),@s)),112)+'01')))
  28. --指定日期所在月份的第一天
  29. declare@Sdatetime
  30. set@S=getdate()
  31. selectconvert(char(8),@s,120)+'01'
  32. --指定日期所在月份的最后一天
  33. declare@Sdatetime
  34. set@S=getdate()
  35. selectdateadd(day,-1,convert(datetime,convert(char(8),dateadd(month,1,@s),120)+'01'))
  36. --指定日期所在周的任意一天
  37. declare@Sdatetime
  38. set@S=getdate()
  39. selectdateadd(day,1,dateadd(day,-datepart(weekday,@s),@s))

你可能感兴趣的:(qq)