【问题标题】:Fill a date field in mysql by the year, month, day, hour and minute from other columns从其他列中按年、月、日、小时和分钟填充mysql中的日期字段
【发布时间】:2013-01-13 16:17:32
【问题描述】:

我有一个充满测量数据的 MySql 表。

表格中的测量日期存储在 5 个单独的列中:year, month, day, hour, minute.

我想做的是添加一个包含完整日期的额外列,采用 DateTime 格式。

所以当我有价值观时

 year, month, day, hour, minute
  2013  ,1,    13,  17,    15,

有一个日期时间字段填充了值'2013-01-13 17:15:00'

我会先添加列,然后我想执行一个 sql 语句来填充日期时间字段。

你能帮我处理一下这个 sql 语句吗?

(我不知道这是否重要,但该语句应该从 phpmyadmin 运行)

【问题讨论】:

  • 到底为什么要将日期/时间存储在各个字段中?

标签: mysql sql database datetime


【解决方案1】:

试试这个

UPDATE myTable set completeValue=CONCAT(year,"-",month,"-",day," ",hour,":",minute)

【讨论】:

    【解决方案2】:

    执行此操作的 SQL 标准方法是:

    SELECT COALESCE(field1, '-') || COALESCE(field2, '-') || COALESCE(field3, '-') || COALESCE(field4, ':') || COALESCE(field5, ':') FROM table into table.field6
    

    【讨论】:

    • @njk: || 仍然可以用于 MySQL 中的字符串连接,如果启用了PIPES_AS_CONCAT SQL 模式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    • 2017-04-14
    • 2011-07-26
    • 1970-01-01
    • 2011-04-26
    • 2023-03-28
    • 2012-05-25
    相关资源
    最近更新 更多