date_formats.result
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:20k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. drop table if exists t1;
  2. SHOW GLOBAL VARIABLES LIKE "%_format%";
  3. Variable_name Value
  4. date_format %d.%m.%Y
  5. datetime_format %Y-%m-%d %H:%i:%s
  6. default_week_format 0
  7. time_format %H.%i.%s
  8. SHOW SESSION VARIABLES LIKE "%_format%";
  9. Variable_name Value
  10. date_format %d.%m.%Y
  11. datetime_format %Y-%m-%d %H:%i:%s
  12. default_week_format 0
  13. time_format %H.%i.%s
  14. SET time_format='%H%i%s';
  15. SET time_format='%H:%i:%s.%f';
  16. SET time_format='%h-%i-%s.%f%p';
  17. SET time_format='%h:%i:%s.%f %p';
  18. SET time_format='%h:%i:%s%p';
  19. SET date_format='%Y%m%d';
  20. SET date_format='%Y.%m.%d';
  21. SET date_format='%d.%m.%Y';
  22. SET date_format='%m-%d-%Y';
  23. set datetime_format= '%Y%m%d%H%i%s';
  24. set datetime_format= '%Y-%m-%d %H:%i:%s';
  25. set datetime_format= '%m-%d-%y %H:%i:%s.%f';
  26. set datetime_format= '%d-%m-%Y %h:%i:%s%p';
  27. set datetime_format= '%H:%i:%s %Y-%m-%d';
  28. set datetime_format= '%H:%i:%s.%f %m-%d-%Y';
  29. set datetime_format= '%h:%i:%s %p %Y-%m-%d';
  30. set datetime_format= '%h:%i:%s.%f %p %Y-%m-%d';
  31. SHOW SESSION VARIABLES LIKE "%format";
  32. Variable_name Value
  33. date_format %m-%d-%Y
  34. datetime_format %h:%i:%s.%f %p %Y-%m-%d
  35. default_week_format 0
  36. time_format %h:%i:%s%p
  37. SET time_format='%h:%i:%s';
  38. ERROR 42000: Variable 'time_format' can't be set to the value of '%h:%i:%s'
  39. SET time_format='%H %i:%s';
  40. ERROR 42000: Variable 'time_format' can't be set to the value of '%H %i:%s'
  41. SET time_format='%H::%i:%s';
  42. ERROR 42000: Variable 'time_format' can't be set to the value of '%H::%i:%s'
  43. SET time_format='%H:%i:%s%f';
  44. ERROR 42000: Variable 'time_format' can't be set to the value of '%H:%i:%s%f'
  45. SET time_format='%H:%i.%f:%s';
  46. ERROR 42000: Variable 'time_format' can't be set to the value of '%H:%i.%f:%s'
  47. SET time_format='%H:%i:%s%p';
  48. ERROR 42000: Variable 'time_format' can't be set to the value of '%H:%i:%s%p'
  49. SET time_format='%h:%i:%s.%f %p %Y-%m-%d';
  50. ERROR 42000: Variable 'time_format' can't be set to the value of '%h:%i:%s.%f %p %Y-%m-%d'
  51. SET time_format='%H%i%s.%f';
  52. ERROR 42000: Variable 'time_format' can't be set to the value of '%H%i%s.%f'
  53. SET time_format='%H:%i-%s.%f';
  54. ERROR 42000: Variable 'time_format' can't be set to the value of '%H:%i-%s.%f'
  55. SET date_format='%d.%m.%d';
  56. ERROR 42000: Variable 'date_format' can't be set to the value of '%d.%m.%d'
  57. SET datetime_format='%h.%m.%y %d.%i.%s';
  58. ERROR 42000: Variable 'datetime_format' can't be set to the value of '%h.%m.%y %d.%i.%s'
  59. set datetime_format= '%H:%i:%s.%f %p %Y-%m-%d';
  60. ERROR 42000: Variable 'datetime_format' can't be set to the value of '%H:%i:%s.%f %p %Y-%m-%d'
  61. set GLOBAL datetime_format= '%H:%i:%s %Y-%m-%d';
  62. SET SESSION datetime_format=default;
  63. select @@global.datetime_format, @@session.datetime_format;
  64. @@global.datetime_format @@session.datetime_format
  65. %H:%i:%s %Y-%m-%d %H:%i:%s %Y-%m-%d
  66. SET GLOBAL datetime_format=default;
  67. SET SESSION datetime_format=default;
  68. select @@global.datetime_format, @@session.datetime_format;
  69. @@global.datetime_format @@session.datetime_format
  70. %Y-%m-%d %H:%i:%s %Y-%m-%d %H:%i:%s
  71. SET GLOBAL date_format=default;
  72. SET GLOBAL time_format=default;
  73. SET GLOBAL datetime_format=default;
  74. SET time_format=default;
  75. SET date_format=default;
  76. SET datetime_format=default;
  77. select str_to_date(concat('15-01-2001',' 2:59:58.999'),
  78. concat('%d-%m-%Y',' ','%H:%i:%s.%f'));
  79. str_to_date(concat('15-01-2001',' 2:59:58.999'),
  80. concat('%d-%m-%Y',' ','%H:%i:%s.%f'))
  81. 2001-01-15 02:59:58.999000
  82. create table t1 (date char(30), format char(30) not null);
  83. insert into t1 values
  84. ('2003-01-02 10:11:12', '%Y-%m-%d %H:%i:%S'),
  85. ('03-01-02 8:11:2.123456', '%y-%m-%d %H:%i:%S.%#'),
  86. ('2003-01-02 10:11:12 PM', '%Y-%m-%d %h:%i:%S %p'),
  87. ('2003-01-02 01:11:12.12345AM', '%Y-%m-%d %h:%i:%S.%f%p'),
  88. ('2003-01-02 02:11:12.12345AM', '%Y-%m-%d %h:%i:%S.%f %p'),
  89. ('2003-01-02 12:11:12.12345 am', '%Y-%m-%d %h:%i:%S.%f%p'),
  90. ('2003-01-02 11:11:12Pm', '%Y-%m-%d %h:%i:%S%p'),
  91. ('10:20:10', '%H:%i:%s'),
  92. ('10:20:10', '%h:%i:%s.%f'),
  93. ('10:20:10', '%T'),
  94. ('10:20:10AM', '%h:%i:%s%p'),
  95. ('10:20:10AM', '%r'),
  96. ('10:20:10.44AM', '%h:%i:%s.%f%p'),
  97. ('15-01-2001 12:59:58', '%d-%m-%Y %H:%i:%S'),
  98. ('15 September 2001', '%d %M %Y'),
  99. ('15 SEPTEMB 2001', '%d %M %Y'),
  100. ('15 MAY 2001', '%d %b %Y'),
  101. ('15th May 2001', '%D %b %Y'),
  102. ('Sunday 15 MAY 2001', '%W %d %b %Y'),
  103. ('Sund 15 MAY 2001', '%W %d %b %Y'),
  104. ('Tuesday 00 2002', '%W %U %Y'),
  105. ('Thursday 53 1998', '%W %u %Y'),
  106. ('Sunday 01 2001', '%W %v %x'),
  107. ('Tuesday 52 2001', '%W %V %X'),
  108. ('060 2004', '%j %Y'),
  109. ('4 53 1998', '%w %u %Y'),
  110. ('15-01-2001', '%d-%m-%Y %H:%i:%S'),
  111. ('15-01-20', '%d-%m-%y'),
  112. ('15-2001-1', '%d-%Y-%c');
  113. select date,format,str_to_date(date, format) as str_to_date from t1;
  114. date format str_to_date
  115. 2003-01-02 10:11:12 %Y-%m-%d %H:%i:%S 2003-01-02 10:11:12
  116. 03-01-02 8:11:2.123456 %y-%m-%d %H:%i:%S.%# 2003-01-02 08:11:02
  117. 2003-01-02 10:11:12 PM %Y-%m-%d %h:%i:%S %p 2003-01-02 22:11:12
  118. 2003-01-02 01:11:12.12345AM %Y-%m-%d %h:%i:%S.%f%p 2003-01-02 01:11:12.123450
  119. 2003-01-02 02:11:12.12345AM %Y-%m-%d %h:%i:%S.%f %p 2003-01-02 02:11:12.123450
  120. 2003-01-02 12:11:12.12345 am %Y-%m-%d %h:%i:%S.%f%p 2003-01-02 00:11:12.123450
  121. 2003-01-02 11:11:12Pm %Y-%m-%d %h:%i:%S%p 2003-01-02 23:11:12
  122. 10:20:10 %H:%i:%s 0000-00-00 10:20:10
  123. 10:20:10 %h:%i:%s.%f 0000-00-00 10:20:10
  124. 10:20:10 %T 0000-00-00 10:20:10
  125. 10:20:10AM %h:%i:%s%p 0000-00-00 10:20:10
  126. 10:20:10AM %r 0000-00-00 10:20:10
  127. 10:20:10.44AM %h:%i:%s.%f%p 0000-00-00 10:20:10.440000
  128. 15-01-2001 12:59:58 %d-%m-%Y %H:%i:%S 2001-01-15 12:59:58
  129. 15 September 2001 %d %M %Y 2001-09-15 00:00:00
  130. 15 SEPTEMB 2001 %d %M %Y 2001-09-15 00:00:00
  131. 15 MAY 2001 %d %b %Y 2001-05-15 00:00:00
  132. 15th May 2001 %D %b %Y 2001-05-15 00:00:00
  133. Sunday 15 MAY 2001 %W %d %b %Y 2001-05-15 00:00:00
  134. Sund 15 MAY 2001 %W %d %b %Y 2001-05-15 00:00:00
  135. Tuesday 00 2002 %W %U %Y 2002-01-01 00:00:00
  136. Thursday 53 1998 %W %u %Y 1998-12-31 00:00:00
  137. Sunday 01 2001 %W %v %x 2001-01-07 00:00:00
  138. Tuesday 52 2001 %W %V %X 2002-01-01 00:00:00
  139. 060 2004 %j %Y 2004-02-29 00:00:00
  140. 4 53 1998 %w %u %Y 1998-12-31 00:00:00
  141. 15-01-2001 %d-%m-%Y %H:%i:%S 2001-01-15 00:00:00
  142. 15-01-20 %d-%m-%y 2020-01-15 00:00:00
  143. 15-2001-1 %d-%Y-%c 2001-01-15 00:00:00
  144. select date,format,concat('',str_to_date(date, format)) as con from t1;
  145. date format con
  146. 2003-01-02 10:11:12 %Y-%m-%d %H:%i:%S 2003-01-02 10:11:12
  147. 03-01-02 8:11:2.123456 %y-%m-%d %H:%i:%S.%# 2003-01-02 08:11:02
  148. 2003-01-02 10:11:12 PM %Y-%m-%d %h:%i:%S %p 2003-01-02 22:11:12
  149. 2003-01-02 01:11:12.12345AM %Y-%m-%d %h:%i:%S.%f%p 2003-01-02 01:11:12.123450
  150. 2003-01-02 02:11:12.12345AM %Y-%m-%d %h:%i:%S.%f %p 2003-01-02 02:11:12.123450
  151. 2003-01-02 12:11:12.12345 am %Y-%m-%d %h:%i:%S.%f%p 2003-01-02 00:11:12.123450
  152. 2003-01-02 11:11:12Pm %Y-%m-%d %h:%i:%S%p 2003-01-02 23:11:12
  153. 10:20:10 %H:%i:%s 0000-00-00 10:20:10
  154. 10:20:10 %h:%i:%s.%f 0000-00-00 10:20:10
  155. 10:20:10 %T 0000-00-00 10:20:10
  156. 10:20:10AM %h:%i:%s%p 0000-00-00 10:20:10
  157. 10:20:10AM %r 0000-00-00 10:20:10
  158. 10:20:10.44AM %h:%i:%s.%f%p 0000-00-00 10:20:10.440000
  159. 15-01-2001 12:59:58 %d-%m-%Y %H:%i:%S 2001-01-15 12:59:58
  160. 15 September 2001 %d %M %Y 2001-09-15 00:00:00
  161. 15 SEPTEMB 2001 %d %M %Y 2001-09-15 00:00:00
  162. 15 MAY 2001 %d %b %Y 2001-05-15 00:00:00
  163. 15th May 2001 %D %b %Y 2001-05-15 00:00:00
  164. Sunday 15 MAY 2001 %W %d %b %Y 2001-05-15 00:00:00
  165. Sund 15 MAY 2001 %W %d %b %Y 2001-05-15 00:00:00
  166. Tuesday 00 2002 %W %U %Y 2002-01-01 00:00:00
  167. Thursday 53 1998 %W %u %Y 1998-12-31 00:00:00
  168. Sunday 01 2001 %W %v %x 2001-01-07 00:00:00
  169. Tuesday 52 2001 %W %V %X 2002-01-01 00:00:00
  170. 060 2004 %j %Y 2004-02-29 00:00:00
  171. 4 53 1998 %w %u %Y 1998-12-31 00:00:00
  172. 15-01-2001 %d-%m-%Y %H:%i:%S 2001-01-15 00:00:00
  173. 15-01-20 %d-%m-%y 2020-01-15 00:00:00
  174. 15-2001-1 %d-%Y-%c 2001-01-15 00:00:00
  175. select date,format,cast(str_to_date(date, format) as datetime) as datetime from t1;
  176. date format datetime
  177. 2003-01-02 10:11:12 %Y-%m-%d %H:%i:%S 2003-01-02 10:11:12
  178. 03-01-02 8:11:2.123456 %y-%m-%d %H:%i:%S.%# 2003-01-02 08:11:02
  179. 2003-01-02 10:11:12 PM %Y-%m-%d %h:%i:%S %p 2003-01-02 22:11:12
  180. 2003-01-02 01:11:12.12345AM %Y-%m-%d %h:%i:%S.%f%p 2003-01-02 01:11:12.123450
  181. 2003-01-02 02:11:12.12345AM %Y-%m-%d %h:%i:%S.%f %p 2003-01-02 02:11:12.123450
  182. 2003-01-02 12:11:12.12345 am %Y-%m-%d %h:%i:%S.%f%p 2003-01-02 00:11:12.123450
  183. 2003-01-02 11:11:12Pm %Y-%m-%d %h:%i:%S%p 2003-01-02 23:11:12
  184. 10:20:10 %H:%i:%s 0000-00-00 10:20:10
  185. 10:20:10 %h:%i:%s.%f 0000-00-00 10:20:10
  186. 10:20:10 %T 0000-00-00 10:20:10
  187. 10:20:10AM %h:%i:%s%p 0000-00-00 10:20:10
  188. 10:20:10AM %r 0000-00-00 10:20:10
  189. 10:20:10.44AM %h:%i:%s.%f%p 0000-00-00 10:20:10.440000
  190. 15-01-2001 12:59:58 %d-%m-%Y %H:%i:%S 2001-01-15 12:59:58
  191. 15 September 2001 %d %M %Y 2001-09-15 00:00:00
  192. 15 SEPTEMB 2001 %d %M %Y 2001-09-15 00:00:00
  193. 15 MAY 2001 %d %b %Y 2001-05-15 00:00:00
  194. 15th May 2001 %D %b %Y 2001-05-15 00:00:00
  195. Sunday 15 MAY 2001 %W %d %b %Y 2001-05-15 00:00:00
  196. Sund 15 MAY 2001 %W %d %b %Y 2001-05-15 00:00:00
  197. Tuesday 00 2002 %W %U %Y 2002-01-01 00:00:00
  198. Thursday 53 1998 %W %u %Y 1998-12-31 00:00:00
  199. Sunday 01 2001 %W %v %x 2001-01-07 00:00:00
  200. Tuesday 52 2001 %W %V %X 2002-01-01 00:00:00
  201. 060 2004 %j %Y 2004-02-29 00:00:00
  202. 4 53 1998 %w %u %Y 1998-12-31 00:00:00
  203. 15-01-2001 %d-%m-%Y %H:%i:%S 2001-01-15 00:00:00
  204. 15-01-20 %d-%m-%y 2020-01-15 00:00:00
  205. 15-2001-1 %d-%Y-%c 2001-01-15 00:00:00
  206. select date,format,DATE(str_to_date(date, format)) as date2 from t1;
  207. date format date2
  208. 2003-01-02 10:11:12 %Y-%m-%d %H:%i:%S 2003-01-02
  209. 03-01-02 8:11:2.123456 %y-%m-%d %H:%i:%S.%# 2003-01-02
  210. 2003-01-02 10:11:12 PM %Y-%m-%d %h:%i:%S %p 2003-01-02
  211. 2003-01-02 01:11:12.12345AM %Y-%m-%d %h:%i:%S.%f%p 2003-01-02
  212. 2003-01-02 02:11:12.12345AM %Y-%m-%d %h:%i:%S.%f %p 2003-01-02
  213. 2003-01-02 12:11:12.12345 am %Y-%m-%d %h:%i:%S.%f%p 2003-01-02
  214. 2003-01-02 11:11:12Pm %Y-%m-%d %h:%i:%S%p 2003-01-02
  215. 10:20:10 %H:%i:%s 0000-00-00
  216. 10:20:10 %h:%i:%s.%f 0000-00-00
  217. 10:20:10 %T 0000-00-00
  218. 10:20:10AM %h:%i:%s%p 0000-00-00
  219. 10:20:10AM %r 0000-00-00
  220. 10:20:10.44AM %h:%i:%s.%f%p 0000-00-00
  221. 15-01-2001 12:59:58 %d-%m-%Y %H:%i:%S 2001-01-15
  222. 15 September 2001 %d %M %Y 2001-09-15
  223. 15 SEPTEMB 2001 %d %M %Y 2001-09-15
  224. 15 MAY 2001 %d %b %Y 2001-05-15
  225. 15th May 2001 %D %b %Y 2001-05-15
  226. Sunday 15 MAY 2001 %W %d %b %Y 2001-05-15
  227. Sund 15 MAY 2001 %W %d %b %Y 2001-05-15
  228. Tuesday 00 2002 %W %U %Y 2002-01-01
  229. Thursday 53 1998 %W %u %Y 1998-12-31
  230. Sunday 01 2001 %W %v %x 2001-01-07
  231. Tuesday 52 2001 %W %V %X 2002-01-01
  232. 060 2004 %j %Y 2004-02-29
  233. 4 53 1998 %w %u %Y 1998-12-31
  234. 15-01-2001 %d-%m-%Y %H:%i:%S 2001-01-15
  235. 15-01-20 %d-%m-%y 2020-01-15
  236. 15-2001-1 %d-%Y-%c 2001-01-15
  237. select date,format,TIME(str_to_date(date, format)) as time from t1;
  238. date format time
  239. 2003-01-02 10:11:12 %Y-%m-%d %H:%i:%S 10:11:12
  240. 03-01-02 8:11:2.123456 %y-%m-%d %H:%i:%S.%# 08:11:02
  241. 2003-01-02 10:11:12 PM %Y-%m-%d %h:%i:%S %p 22:11:12
  242. 2003-01-02 01:11:12.12345AM %Y-%m-%d %h:%i:%S.%f%p 01:11:12.123450
  243. 2003-01-02 02:11:12.12345AM %Y-%m-%d %h:%i:%S.%f %p 02:11:12.123450
  244. 2003-01-02 12:11:12.12345 am %Y-%m-%d %h:%i:%S.%f%p 00:11:12.123450
  245. 2003-01-02 11:11:12Pm %Y-%m-%d %h:%i:%S%p 23:11:12
  246. 10:20:10 %H:%i:%s 10:20:10
  247. 10:20:10 %h:%i:%s.%f 10:20:10
  248. 10:20:10 %T 10:20:10
  249. 10:20:10AM %h:%i:%s%p 10:20:10
  250. 10:20:10AM %r 10:20:10
  251. 10:20:10.44AM %h:%i:%s.%f%p 10:20:10.440000
  252. 15-01-2001 12:59:58 %d-%m-%Y %H:%i:%S 12:59:58
  253. 15 September 2001 %d %M %Y 00:00:00
  254. 15 SEPTEMB 2001 %d %M %Y 00:00:00
  255. 15 MAY 2001 %d %b %Y 00:00:00
  256. 15th May 2001 %D %b %Y 00:00:00
  257. Sunday 15 MAY 2001 %W %d %b %Y 00:00:00
  258. Sund 15 MAY 2001 %W %d %b %Y 00:00:00
  259. Tuesday 00 2002 %W %U %Y 00:00:00
  260. Thursday 53 1998 %W %u %Y 00:00:00
  261. Sunday 01 2001 %W %v %x 00:00:00
  262. Tuesday 52 2001 %W %V %X 00:00:00
  263. 060 2004 %j %Y 00:00:00
  264. 4 53 1998 %w %u %Y 00:00:00
  265. 15-01-2001 %d-%m-%Y %H:%i:%S 00:00:00
  266. 15-01-20 %d-%m-%y 00:00:00
  267. 15-2001-1 %d-%Y-%c 00:00:00
  268. select date,format,concat(TIME(str_to_date(date, format))) as time2 from t1;
  269. date format time2
  270. 2003-01-02 10:11:12 %Y-%m-%d %H:%i:%S 10:11:12
  271. 03-01-02 8:11:2.123456 %y-%m-%d %H:%i:%S.%# 08:11:02
  272. 2003-01-02 10:11:12 PM %Y-%m-%d %h:%i:%S %p 22:11:12
  273. 2003-01-02 01:11:12.12345AM %Y-%m-%d %h:%i:%S.%f%p 01:11:12.123450
  274. 2003-01-02 02:11:12.12345AM %Y-%m-%d %h:%i:%S.%f %p 02:11:12.123450
  275. 2003-01-02 12:11:12.12345 am %Y-%m-%d %h:%i:%S.%f%p 00:11:12.123450
  276. 2003-01-02 11:11:12Pm %Y-%m-%d %h:%i:%S%p 23:11:12
  277. 10:20:10 %H:%i:%s 10:20:10
  278. 10:20:10 %h:%i:%s.%f 10:20:10
  279. 10:20:10 %T 10:20:10
  280. 10:20:10AM %h:%i:%s%p 10:20:10
  281. 10:20:10AM %r 10:20:10
  282. 10:20:10.44AM %h:%i:%s.%f%p 10:20:10.440000
  283. 15-01-2001 12:59:58 %d-%m-%Y %H:%i:%S 12:59:58
  284. 15 September 2001 %d %M %Y 00:00:00
  285. 15 SEPTEMB 2001 %d %M %Y 00:00:00
  286. 15 MAY 2001 %d %b %Y 00:00:00
  287. 15th May 2001 %D %b %Y 00:00:00
  288. Sunday 15 MAY 2001 %W %d %b %Y 00:00:00
  289. Sund 15 MAY 2001 %W %d %b %Y 00:00:00
  290. Tuesday 00 2002 %W %U %Y 00:00:00
  291. Thursday 53 1998 %W %u %Y 00:00:00
  292. Sunday 01 2001 %W %v %x 00:00:00
  293. Tuesday 52 2001 %W %V %X 00:00:00
  294. 060 2004 %j %Y 00:00:00
  295. 4 53 1998 %w %u %Y 00:00:00
  296. 15-01-2001 %d-%m-%Y %H:%i:%S 00:00:00
  297. 15-01-20 %d-%m-%y 00:00:00
  298. 15-2001-1 %d-%Y-%c 00:00:00
  299. select concat('',str_to_date('8:11:2.123456 03-01-02','%H:%i:%S.%f %y-%m-%d'));
  300. concat('',str_to_date('8:11:2.123456 03-01-02','%H:%i:%S.%f %y-%m-%d'))
  301. 2003-01-02 08:11:02.123456
  302. truncate table t1;
  303. insert into t1 values
  304. ('2003-01-02 10:11:12 PM', '%Y-%m-%d %H:%i:%S %p'),
  305. ('2003-01-02 10:11:12.123456', '%Y-%m-%d %h:%i:%S %p'),
  306. ('2003-01-02 10:11:12AM', '%Y-%m-%d %h:%i:%S.%f %p'),
  307. ('2003-01-02 10:11:12AN', '%Y-%m-%d %h:%i:%S%p'),
  308. ('2003-01-02 10:11:12 PM', '%y-%m-%d %H:%i:%S %p'),
  309. ('10:20:10AM', '%H:%i:%s%p'),
  310. ('15 Septembei 2001', '%d %M %Y'),
  311. ('15 Ju 2001', '%d %M %Y'),
  312. ('Sund 15 MA', '%W %d %b %Y'),
  313. ('Thursdai 12 1998', '%W %u %Y'),
  314. ('Sunday 01 2001', '%W %v %X'),
  315. ('Tuesday 52 2001', '%W %V %x'),
  316. ('Tuesday 52 2001', '%W %V %Y'),
  317. ('Tuesday 52 2001', '%W %u %x'),
  318. ('7 53 1998', '%w %u %Y'),
  319. (NULL, get_format(DATE,'USA'));
  320. select date,format,str_to_date(date, format) as str_to_date from t1;
  321. date format str_to_date
  322. 2003-01-02 10:11:12 PM %Y-%m-%d %H:%i:%S %p NULL
  323. 2003-01-02 10:11:12.123456 %Y-%m-%d %h:%i:%S %p NULL
  324. 2003-01-02 10:11:12AM %Y-%m-%d %h:%i:%S.%f %p NULL
  325. 2003-01-02 10:11:12AN %Y-%m-%d %h:%i:%S%p NULL
  326. 2003-01-02 10:11:12 PM %y-%m-%d %H:%i:%S %p NULL
  327. 10:20:10AM %H:%i:%s%p NULL
  328. 15 Septembei 2001 %d %M %Y NULL
  329. 15 Ju 2001 %d %M %Y NULL
  330. Sund 15 MA %W %d %b %Y NULL
  331. Thursdai 12 1998 %W %u %Y NULL
  332. Sunday 01 2001 %W %v %X NULL
  333. Tuesday 52 2001 %W %V %x NULL
  334. Tuesday 52 2001 %W %V %Y NULL
  335. Tuesday 52 2001 %W %u %x NULL
  336. 7 53 1998 %w %u %Y NULL
  337. NULL %m.%d.%Y NULL
  338. select date,format,concat(str_to_date(date, format),'') as con from t1;
  339. date format con
  340. 2003-01-02 10:11:12 PM %Y-%m-%d %H:%i:%S %p NULL
  341. 2003-01-02 10:11:12.123456 %Y-%m-%d %h:%i:%S %p NULL
  342. 2003-01-02 10:11:12AM %Y-%m-%d %h:%i:%S.%f %p NULL
  343. 2003-01-02 10:11:12AN %Y-%m-%d %h:%i:%S%p NULL
  344. 2003-01-02 10:11:12 PM %y-%m-%d %H:%i:%S %p NULL
  345. 10:20:10AM %H:%i:%s%p NULL
  346. 15 Septembei 2001 %d %M %Y NULL
  347. 15 Ju 2001 %d %M %Y NULL
  348. Sund 15 MA %W %d %b %Y NULL
  349. Thursdai 12 1998 %W %u %Y NULL
  350. Sunday 01 2001 %W %v %X NULL
  351. Tuesday 52 2001 %W %V %x NULL
  352. Tuesday 52 2001 %W %V %Y NULL
  353. Tuesday 52 2001 %W %u %x NULL
  354. 7 53 1998 %w %u %Y NULL
  355. NULL %m.%d.%Y NULL
  356. truncate table t1;
  357. insert into t1 values
  358. ('10:20:10AM', '%h:%i:%s'),
  359. ('2003-01-02 10:11:12', '%Y-%m-%d %h:%i:%S'),
  360. ('03-01-02 10:11:12 PM', '%Y-%m-%d %h:%i:%S %p');
  361. select date,format,str_to_date(date, format) as str_to_date from t1;
  362. date format str_to_date
  363. 10:20:10AM %h:%i:%s 0000-00-00 10:20:10
  364. 2003-01-02 10:11:12 %Y-%m-%d %h:%i:%S 2003-01-02 10:11:12
  365. 03-01-02 10:11:12 PM %Y-%m-%d %h:%i:%S %p 0003-01-02 22:11:12
  366. Warnings:
  367. Warning 1292 Truncated incorrect datetime value: '10:20:10AM'
  368. select date,format,concat(str_to_date(date, format),'') as con from t1;
  369. date format con
  370. 10:20:10AM %h:%i:%s 0000-00-00 10:20:10
  371. 2003-01-02 10:11:12 %Y-%m-%d %h:%i:%S 2003-01-02 10:11:12
  372. 03-01-02 10:11:12 PM %Y-%m-%d %h:%i:%S %p 0003-01-02 22:11:12
  373. Warnings:
  374. Warning 1292 Truncated incorrect datetime value: '10:20:10AM'
  375. drop table t1;
  376. select get_format(DATE, 'USA') as a;
  377. a
  378. %m.%d.%Y
  379. select get_format(TIME, 'internal') as a;
  380. a
  381. %H%i%s
  382. select get_format(DATETIME, 'eur') as a;
  383. a
  384. %Y-%m-%d %H.%i.%s
  385. select get_format(TIMESTAMP, 'eur') as a;
  386. a
  387. %Y-%m-%d %H.%i.%s
  388. select get_format(DATE, 'TEST') as a;
  389. a
  390. NULL
  391. select str_to_date('15-01-2001 12:59:59', GET_FORMAT(DATE,'USA'));
  392. str_to_date('15-01-2001 12:59:59', GET_FORMAT(DATE,'USA'))
  393. NULL
  394. explain extended select makedate(1997,1), addtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002"),subtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002"),timediff("01.01.97 11:59:59.000001 PM","31.12.95 11:59:59.000002 PM"),cast(str_to_date("15-01-2001 12:59:59", "%d-%m-%Y %H:%i:%S") as TIME), maketime(23,11,12),microsecond("1997-12-31 23:59:59.000001");
  395. id select_type table type possible_keys key key_len ref rows Extra
  396. 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
  397. Warnings:
  398. Note 1003 select makedate(1997,1) AS `makedate(1997,1)`,addtime(_latin1'31.12.97 11.59.59.999999 PM',_latin1'31.12.97 11.59.59.999999 PM') AS `addtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002")`,subtime(_latin1'31.12.97 11.59.59.999999 PM',_latin1'31.12.97 11.59.59.999999 PM') AS `subtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002")`,timediff(_latin1'01.01.97 11:59:59.000001 PM',_latin1'31.12.95 11:59:59.000002 PM') AS `timediff("01.01.97 11:59:59.000001 PM","31.12.95 11:59:59.000002 PM")`,cast(str_to_date(_latin1'15-01-2001 12:59:59',_latin1'%d-%m-%Y %H:%i:%S') as time) AS `cast(str_to_date("15-01-2001 12:59:59", "%d-%m-%Y %H:%i:%S") as TIME)`,maketime(23,11,12) AS `maketime(23,11,12)`,microsecond(_latin1'1997-12-31 23:59:59.000001') AS `microsecond("1997-12-31 23:59:59.000001")`
  399. create table t1 (d date);
  400. insert into t1 values ('2004-07-14'),('2005-07-14');
  401. select date_format(d,"%d") from t1 order by 1;
  402. date_format(d,"%d")
  403. 14
  404. 14
  405. drop table t1;
  406. select str_to_date("2003-....01ABCD-02 10:11:12.0012", "%Y-%.%m%@-%d %H:%i:%S.%f") as a;
  407. a
  408. 2003-01-02 10:11:12.001200
  409. create table t1 select str_to_date("2003-01-02 10:11:12.0012", "%Y-%m-%d %H:%i:%S.%f") as f1,
  410. str_to_date("10:11:12.0012", "%H:%i:%S.%f") as f2,
  411. str_to_date("2003-01-02", "%Y-%m-%d") as f3,
  412. str_to_date("02", "%d") as f4, str_to_date("02 10", "%d %H") as f5;
  413. describe t1;
  414. Field Type Null Key Default Extra
  415. f1 datetime YES NULL
  416. f2 time YES NULL
  417. f3 date YES NULL
  418. f4 date YES NULL
  419. f5 time YES NULL
  420. select * from t1;
  421. f1 f2 f3 f4 f5
  422. 2003-01-02 10:11:12 10:11:12 2003-01-02 0000-00-02 58:00:00
  423. drop table t1;
  424. create table t1 select "02 10" as a, "%d %H" as b;
  425. select str_to_date(a,b) from t1;
  426. str_to_date(a,b)
  427. 0000-00-02 10:00:00
  428. create table t2 select str_to_date(a,b) from t1;
  429. describe t2;
  430. Field Type Null Key Default Extra
  431. str_to_date(a,b) binary(29) YES NULL
  432. select str_to_date("2003-01-02 10:11:12.0012", "%Y-%m-%d %H:%i:%S.%f") as f1,
  433. str_to_date("2003-01-02 10:11:12.0012", "%Y-%m-%d %H:%i:%S") as f2,
  434. str_to_date("2003-01-02", "%Y-%m-%d") as f3,
  435. str_to_date("02 10:11:12", "%d %H:%i:%S.%f") as f4,
  436. str_to_date("02 10:11:12", "%d %H:%i:%S") as f5,
  437. str_to_date("02 10", "%d %f") as f6;
  438. f1 f2 f3 f4 f5 f6
  439. 2003-01-02 10:11:12.001200 2003-01-02 10:11:12 2003-01-02 58:11:12 58:11:12 48:00:00.100000
  440. Warnings:
  441. Warning 1292 Truncated incorrect datetime value: '2003-01-02 10:11:12.0012'
  442. drop table t1, t2;
  443. select str_to_date("2003-01-02 10:11:12.0012ABCD", "%Y-%m-%d %H:%i:%S.%f") as f1,
  444. addtime("-01:01:01.01 GGG", "-23:59:59.1") as f2,
  445. microsecond("1997-12-31 23:59:59.01XXXX") as f3;
  446. f1 f2 f3
  447. 2003-01-02 10:11:12.001200 -25:01:00.110000 10000
  448. Warnings:
  449. Warning 1292 Truncated incorrect datetime value: '2003-01-02 10:11:12.0012ABCD'
  450. Warning 1292 Truncated incorrect time value: '-01:01:01.01 GGG'
  451. Warning 1292 Truncated incorrect time value: '1997-12-31 23:59:59.01XXXX'
  452. select str_to_date("2003-04-05  g", "%Y-%m-%d") as f1,
  453. str_to_date("2003-04-05 10:11:12.101010234567", "%Y-%m-%d %H:%i:%S.%f") as f2;
  454. f1 f2
  455. 2003-04-05 2003-04-05 10:11:12.101010
  456. Warnings:
  457. Warning 1292 Truncated incorrect date value: '2003-04-05  g'
  458. Warning 1292 Truncated incorrect datetime value: '2003-04-05 10:11:12.101010234567'
  459. create table t1 (f1 datetime);
  460. insert into t1 (f1) values ("2005-01-01");
  461. insert into t1 (f1) values ("2005-02-01");
  462. select date_format(f1, "%m") as d1, date_format(f1, "%M") as d2 from t1 order by date_format(f1, "%M");
  463. d1 d2
  464. 02 February
  465. 01 January
  466. drop table t1;