获取某年某月的第一天和最后一天的Sql Server函数

  1. SET ANSI_NULLS ON
  2. GO
  3. SET QUOTED_IDENTIFIER ON
  4. GO
  5. -- =============================================
  6. -- Author: RickyLin
  7. -- Create date: 2007-11-27
  8. -- Description: 获取某年某月的第一天的日期
  9. -- =============================================
  10. ALTER FUNCTION fnGetFirstDayOfMonth
  11. (
  12. @Year SMALLINT
  13. , @Month TINYINT
  14. )
  15. RETURNS SMALLDATETIME
  16. AS
  17. BEGIN
  18. DECLARE @FirstDay SMALLDATETIME
  19. DECLARE @Str VARCHAR(10)
  20. SET @Str = Cast(@Year AS VARCHAR(4)) + '-' + Cast(@Month AS VARCHAR(2)) + '-1'
  21. SET @FirstDay = Convert(SMALLDATETIME, @Str)
  22. RETURN @FirstDay
  23. END
  24. GO
  25. -- =============================================
  26. -- Author: RickyLin
  27. -- Create date: 2007-11-27
  28. -- Description: 获取某年某月的最后一天的日期
  29. -- =============================================
  30. CREATE FUNCTION fnGetLastDayOfMonth
  31. (
  32. @Year SMALLINT
  33. , @Month TINYINT
  34. )
  35. RETURNS SMALLDATETIME
  36. AS
  37. BEGIN
  38. DECLARE @LastDay SMALLDATETIME
  39. DECLARE @Str VARCHAR(10)
  40. SET @Str = Cast(@Year AS VARCHAR(4)) + '-' + Cast(@Month AS VARCHAR(2)) + '-1'
  41. SET @LastDay = DateAdd(d, -1, DateAdd(m, 1, dbo.fnGetFirstDayOfMonth(@Year, @Month)))
  42. RETURN @LastDay
  43. END
  44. GO
原文地址:https://www.cnblogs.com/suizhikuo/p/2437971.html