欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL Server 2008中的创建格式化日期(1)

程序员文章站 2024-01-11 11:40:58
...

让我们来创建dbo.format_date 函数,如下所示。 /******Object:UserDefinedFunction[dbo].[format_date] Script Date :05/12/200923:19:35******/ IFEXISTS( SELECT * FROM sys.objects WHERE object_id=OBJECT_ID(N '[dbo].[format_date]' ) AND type in (N

让我们来创建dbo.format_date 函数,如下所示。

  1. /****** Object: UserDefinedFunction [dbo].[format_date]
  2. Script Date: 05/12/2009 23:19:35 ******/
  3. IF EXISTS (SELECT * FROM sys.objects
  4. WHERE object_id = OBJECT_ID(N'[dbo].[format_date]')
  5. AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
  6. DROP FUNCTION [dbo].[format_date]
  7. GO
  8. /****** Object: UserDefinedFunction [dbo].[format_date]
  9. Script Date: 05/12/2009 23:19:18 ******/
  10. SET ANSI_NULLS ON
  11. GO
  12. SET QUOTED_IDENTIFIER ON
  13. GO
  14. SET CONCAT_NULL_YIELDS_NULL OFF
  15. go
  16. CREATE function [dbo].[format_date]
  17. (@inputdate datetime ,@format varchar(500))
  18. returns varchar(500)
  19. as
  20. begin
  21. declare @year varchar(4) --YYYY
  22. declare @shortyear varchar(4) --Yr
  23. declare @quarter varchar(4) --QQ
  24. declare @month varchar(2) --MM
  25. declare @week varchar(2) --WW
  26. declare @day varchar(2) --DD
  27. declare @24hours varchar(2) --24HH
  28. declare @12hours varchar(2) --HH
  29. declare @minutes varchar(2) --MI
  30. declare @seconds varchar(2) --SS
  31. declare @milliseconds varchar(3) --MS
  32. declare @microseconds varchar(6) --MCS
  33. declare @nanoseconds varchar(9) --NS
  34. declare @dayname varchar(15) --DAY
  35. declare @monthname varchar(15) --MONTH
  36. declare @shortmonthname varchar(15) --MON
  37. declare @AMPM varchar(15) --AMPM
  38. declare @TZ varchar(15) --TZ
  39. declare @UNIXPOSIX varchar(15) --UNIXPOSIX
  40. --UCASE
  41. --LCASE
  42. declare @formatteddate varchar(500)
  43. --Assign current date and time to
  44. if (@inputdate is NULL or @inputdate ='')
  45. begin
  46. set @inputdate = getdate()
  47. end
  48. if (@format is NULL or @format ='')
  49. begin
  50. set @format ='YYYY-MM-DD 12HH:MI:SS AMPM'
  51. end