• 155阅读
  • 0回复

[移动开发] sql时间格式化


会员


发帖
11
楼主  发表于:2019/1/5 11:12
  1. 1 取值后格式化  
  2. {0:d}小型:如2005-5-6  
  3. {0:D}大型:如2005年5月6日  
  4. {0:f}完整型  
  5.   
  6. 2 当前时间获取   
  7. DateTime.Now.ToShortDateString  
  8.   
  9. 3 取值中格式化  
  10. SQL Server里面可能经常会用到的日期格式转换方法:  
  11. sql server使用convert来取得datetime日期数据,以下实例包含各种日期格式的转换  
  12. 语句及查询结果:  
  13. Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM  
  14. Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06  
  15. Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16  
  16. Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06  
  17. Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06  
  18. Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06  
  19. Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06  
  20. Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06  
  21. Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46  
  22. Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM  
  23. Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06  
  24. Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16  
  25. Select CONVERT(varchar(100), GETDATE(), 12): 060516  
  26. Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937  
  27. Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967  
  28. Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47  
  29. Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157  
  30. Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM  
  31. Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16  
  32. Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47  
  33. Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250  
  34. Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM  
  35. Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006  
  36. Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16  
  37. Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006  
  38. Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006  
  39. Sel1 取值后格式化  
  40. {0:d}小型:如2005-5-6  
  41. {0:D}大型:如2005年5月6日  
  42. {0:f}完整型  
  43.   
  44. 2 当前时间获取   
  45. DateTime.Now.ToShortDateString  
  46.   
  47. 3 取值中格式化  
  48. SQL Server里面可能经常会用到的日期格式转换方法:  
  49. sql server使用convert来取得datetime日期数据,以下实例包含各种日期格式的转换  
  50. 语句及查询结果:  
  51. Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM  
  52. Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06  
  53. Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16  
  54. Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06  
  55. Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06  
  56. Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06  
  57. Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06  
  58. Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06  
  59. Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46  
  60. Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM  
  61. Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06  
  62. Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16  
  63. Select CONVERT(varchar(100), GETDATE(), 12): 060516  
  64. Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937  
  65. Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967  
  66. Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47  
  67. Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157  
  68. Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM  
  69. Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16  
  70. Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47  
  71. Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250  
  72. Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM  
  73. Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006  
  74. Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16  
  75. Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006  
  76. Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006  
  77. Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006  
  78. Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006  
  79. Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006  
  80. Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49  
  81. Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM  
  82. Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006  
  83. Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16  
  84. Select CONVERT(varchar(100), GETDATE(), 112): 20060516  
  85. Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513  
  86. Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547  
  87. Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49  
  88. Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700  
  89. Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827  
  90. Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM  
  91. Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM  
  92. ect CONVERT(varchar(100), GETDATE(), 105): 16-05-2006  
  93. Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006  
  94. Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006  
  95. Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49  
  96. Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM  
  97. Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006  
  98. Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16  
  99. Select CONVERT(varchar(100), GETDATE(), 112): 20060516  
  100. Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513  
  101. Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547  
  102. Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49  
  103. Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700  
  104. Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827  
  105. Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM  
  106. Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM  
  107.   
  108.   
  109.   
  110. -------------------------------------------------------------  
  111.   
  112.   
  113. SQLserver中用convert函数转换日期格式:   
  114.   
  115. select getdate()   
  116. 结果:2003-12-28 16:52:00.107   
  117.   
  118. select convert(char(8),getdate(),112)   
  119. 结果:20031228   
  120.   
  121. select convert(char(8),getdate(),108)   
  122. 结果:16:52:00   
  123.   
  124. select convert(char(8),getdate(),112)   
  125.   
  126. SELECT CONVERT(VARCHAR(12),CONVERT(SMALLDATETIME,'20070615'),111)   
  127. 结果:2007/06/15   
  128.   
  129.                              
  130. 指日期格式规则如下:   
  131.   
  132. 1 101 美国 mm/dd/yyyy   
  133. 2 102 ANSI yy.mm.dd   
  134. 3 103 英国/法国 dd/mm/yy   
  135. 4 104 德国 dd.mm.yy   
  136. 5 105 意大利 dd-mm-yy   
  137. 6 106 - dd mon yy   
  138. 7 107 - mon dd, yy   
  139. 8 108 - hh:mm:ss   
  140. - 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)   
  141. 10 110 美国 mm-dd-yy   
  142. 11 111 日本 yy/mm/dd   
  143. 12 112 ISO yymmdd   
  144. - 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)   
  145. 14 114 - hh:mi:ss:mmm(24h)   
  146. - 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]   
  147. - 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]   
  148. - 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)   
  149. - 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM   
  150. - 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM   
  151.   
  152.   
  153. 关于Emaker中字段的格式转换和字段间的运算代码可以加到属性里的“格式转换(读出)”和“格式转换(写入)”,table字段设定里的“字 段”位置也可以灵活加函数。比如:'AF'+ID 或者ID+'/'+PWD ,convert(varchar(50),F1) ,   
  154.   
  155. convert(int,%)-19110000 (读出)   
  156.   
  157. convert(char(8),convert(int,%)+19110000) (写入)   
  158.   
  159. 实现行的合计运算等等。加入:%系统变量%,则是调用在Emaker 系统中设定的系统变量。  
  160.   
  161.   
  162.   
  163.   
  164. select * from T_DateTime where id = 1  
  165.   
  166. select datediff(s,'2006-02-20','2006-02-21') A;  
  167.   
  168. Select CONVERT(varchar(100), GETDATE(), 23) sss  
  169.   
  170.   
  171.   
  172. select convert(varchar(100),(select bdate from T_datetime where id = 1),23) begindate  
  173.   
  174.   
  175. select datediff(s,  
  176.         (select convert(varchar(100),(select bdate from T_datetime where id = 1),23) begindate),--开始的时间  
  177.         (select convert(varchar(100),(select edate from T_datetime where id = 1),23) enddate))/(24*60*60)--结束时间 diffdate  
  178.   
  179.   
  180.   
  181. select count(id) from t_power  
快速回复