龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > MySQL 技术 >

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

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
--setallvalues set @ year = convert ( varchar (4), year (@inputdate)) set @shortyear= right (@ year ,2) set @quarter= convert ( varchar (1),datepart(QQ,(@inputdate))) set @ month = right ( '0' + conve

  1. --set all values   
  2. set @year = convert(varchar(4),year(@inputdate))  
  3.  
  4. set @shortyear = right(@year,2)  
  5.  
  6. set @quarter = convert(varchar(1),datepart(QQ,(@inputdate)))  
  7.  
  8. set @month = right('0'+convert(varchar(2),month(@inputdate)),2)  
  9.  
  10. set @week = right('0'+convert(varchar(2),datepart(ww,(@inputdate))),2)  
  11.  
  12. set @day = right('0'+convert(varchar(2),day(@inputdate)),2)  
  13.  
  14. set @24hours = right('0'+convert(varchar(2),datepart(hh,@inputdate)),2)  
  15.  
  16. set @TZ = convert(varchar(10),datename(TZ,convert(varchar(20),@inputdate)))  
  17.  
  18. set @UNIXPOSIX = convert(varchar(15),datediff(ss,convert(datetime,'01/01/1970 00:00:000'),@inputdate))  
  19.  
  20. if datepart(hh,@inputdate) >12  
  21.  
  22. begin 
  23.  
  24. set @12hours = right('0'+convert(varchar(2),datepart(hh,@inputdate)) -12,2)  
  25.  
  26. end 
  27.  
  28. else 
  29.  
  30. begin 
  31.  
  32. set @12hours = right('0'+convert(varchar(2),datepart(hh,@inputdate)) ,2)  
  33.  
  34. end 
  35.  
  36. if datepart(hh,@inputdate) >11  
  37.  
  38. begin 
  39.  
  40. set @AMPM ='PM' 
  41.  
  42. end 
  43.  
  44. else 
  45.  
  46. begin 
  47.  
  48. set @AMPM ='AM' 
  49.  
  50. end 
  51.  
  52. set @minutes = right('0'+convert(varchar(2),datepart(n,@inputdate)),2)  
  53.  
  54. set @seconds = right('0'+convert(varchar(2),datepart(ss,@inputdate)),2)  
  55.  
  56. set @milliseconds = convert(varchar(3),datepart(ms,@inputdate))  
  57.  
  58. set @microseconds = convert(varchar(6),datepart(mcs,@inputdate))  
  59.  
  60. set @nanoseconds = convert(varchar(9),datepart(ns,@inputdate))  
  61.  
  62. set @dayname = datename(weekday,@inputdate)  
  63.  
  64. set @monthname = datename(mm,@inputdate)  
  65.  
  66. set @shortmonthname= left(datename(mm,@inputdate),3)  
  67.  
  68. set @formatteddate = @format  
  69.  
  70. set @formatteddate=replace(@formatteddate,'MONTH',@monthname)  
  71.  
  72. set @formatteddate=replace(@formatteddate,'MON',@shortmonthname)  
  73.  
  74. set @formatteddate=replace(@formatteddate,'AMPM',@AMPM)  
  75.  
  76. set @formatteddate=replace(@formatteddate,'YYYY',@year)  
  77.  
  78. set @formatteddate=replace(@formatteddate,'Yr',@shortyear)  
  79.  
  80. set @formatteddate=replace(@formatteddate,'QQ',@quarter)  
  81.  
  82. set @formatteddate=replace(@formatteddate,'WW',@week)  
  83.  
  84. set @formatteddate=replace(@formatteddate,'MM',@month)  
  85.  
  86. set @formatteddate=replace(@formatteddate,'DD',@Day)  
  87.  
  88. set @formatteddate=replace(@formatteddate,'24HH',@24hours)  
  89.  
  90. set @formatteddate=replace(@formatteddate,'12HH',@12hours)  
  91.  
  92. set @formatteddate=replace(@formatteddate,'Mi',@minutes)  
  93.  
  94. set @formatteddate=replace(@formatteddate,'SS',@seconds)  
  95.  
  96. set @formatteddate=replace(@formatteddate,'MS',@milliseconds)  
  97.  
  98. set @formatteddate=replace(@formatteddate,'MCS',@microseconds)  
  99.  
  100. set @formatteddate=replace(@formatteddate,'NS',@nanoseconds)  
  101.  
  102. set @formatteddate=replace(@formatteddate,'DAY',@dayname)  
  103.  
  104. set @formatteddate=replace(@formatteddate,'TZ',@TZ)  
  105.  
  106. set @formatteddate=replace(@formatteddate,'UNIXPOSIX',@UNIXPOSIX)  
  107.  
  108. if charindex('ucase',@formatteddate)<>0  
  109.  
  110. begin 
  111.  
  112. set @formatteddate=replace(@formatteddate,'ucase','')  
  113.  
  114. set @formatteddate=upper(@formatteddate)  
  115.  
  116. end 
  117.  
  118. if charindex('lcase',@formatteddate)<>0   
  119.  
  120. begin 
  121.  
  122. set @formatteddate=replace(@formatteddate,'lcase','')  
  123.  
  124. set @formatteddate=lower(@formatteddate)  
  125.  
  126. end 
  127.  
  128. return @formatteddate  
  129.  
  130. end 
  131.  
  132. GO  


精彩图集

赞助商链接