【问题标题】:MysQL Date and Time ManipulationMySQL 日期和时间操作
【发布时间】:2014-09-04 04:51:15
【问题描述】:

我有一个 215 个字符的字段,第 16 到第 21 个字符是日期,格式为 030914。

我希望能够将其转换为日期并将其写入 MySQL 格式 yyyy-mm-dd 的相邻字段中。

我尝试了字符串到日期的转换,但只有当日期字符被“c”括起来时才会发生这种情况,即反逗号。

因为我有超过 20K 的记录,这似乎是不可行的。

字符 22 到 25 是 1014 格式的时间。这需要以时间格式写入另一个相邻的字段,即 hh:mm:ss。

对于有经验的 MySQL 程序员来说,这只是几分钟的事情。

【问题讨论】:

  • 首先发布您尝试解决问题的方法。

标签: mysql string date time


【解决方案1】:

查询

获取日期 -

SELECT DATE_FORMAT(
  STR_TO_DATE(SUBSTRING(your_column,16,6),"%d%m%y"),
  "%Y-%m-%d")
  FROM your_table;

获取时间-

SELECT DATE_FORMAT(
  STR_TO_DATE(SUBSTRING(your_column,22,4),"%h%i"),
  "%h:%i:%s")
  FROM your_table;

同时获取-

SELECT DATE_FORMAT(
  STR_TO_DATE(SUBSTRING(your_column,16,10),"%d%m%y%h%i"),
  "%Y-%m-%d %h:%i:%s")
  FROM your_table;

这是演示http://sqlfiddle.com/#!2/ac7e45/10

【讨论】:

    猜你喜欢
    • 2012-11-23
    • 2012-05-14
    • 2019-04-27
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多