MySQL - 提取日期时间并转换为矩阵映射

标签 mysql datetime

我有大量的MySQL记录数据,必须像这样转换:

Datetime matrix mapping

我的问题是,如何提取日期时间值(月、周、小时)并将其插入具有二进制值(0 或 1)的精确列中,如上图所示。

问题已解决,我刚刚找到了最简单的方法,例如:

UPDATE TABLE
SET h1 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '1' THEN 1 
         ELSE '0'
         END
, h2 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '2' THEN '1' 
         ELSE '0' 
         END
, h3 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '3' THEN '1' 
         ELSE '0' 
         END
, h4 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '4' THEN '1' 
         ELSE '0' 
         END
, h5 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '5' THEN '1' 
         ELSE '0' 
         END
, h6 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '6' THEN '1' 
         ELSE '0' 
         END
, h7 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '7' THEN '1' 
         ELSE '0' 
         END
         ;

最佳答案

问题已解决,我刚刚找到了最简单的方法,例如:

UPDATE TABLE
SET h1 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '1' THEN 1 
         ELSE '0'
         END
, h2 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '2' THEN '1' 
         ELSE '0' 
         END
, h3 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '3' THEN '1' 
         ELSE '0' 
         END
, h4 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '4' THEN '1' 
         ELSE '0' 
         END
, h5 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '5' THEN '1' 
         ELSE '0' 
         END
, h6 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '6' THEN '1' 
         ELSE '0' 
         END
, h7 = CASE WHEN (SELECT DAYOFWEEK (trx_datetime)) = '7' THEN '1' 
         ELSE '0' 
         END
         ;

关于MySQL - 提取日期时间并转换为矩阵映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33547080/

相关文章:

mysql - 计算mysql中特定用户的总登录注销时间

java - 为什么这个 REST 服务不起作用?

python - 在python中将unix纪元时间转换为windows纪元时间

mysql - 如何在 MySQL 中以分钟为单位计算耗时

javascript - 使用 d3js 显示时间线

mysql - 如何与 bookshelf 和 knex 中的联接表交互?

php - 特殊字符和 json_encode

php - 在数据库中插入多个值

Java : Displaying time in UTC

javascript - 将日期和时间转换为 UTC