如何用SQL将日期时间转换成浮点数?就像Excel那样

如何用SQL将日期时间转换成浮点数?就像Excel那样
请问如何将表中的 日期时间 转换成对应的 浮点数,得到的数字跟excel中的一样(因为我的表有3亿条记录,使用excel最多只能加载一百多万条记录,使用excel处理会丢失数据)。

表名:MyTabel,列名:TIME,请问如何将下图中这一列数据转换成对应的浮点数。

如何用SQL将日期时间转换成浮点数?就像Excel那样
最终效果如excel处理的那样:

如何用SQL将日期时间转换成浮点数?就像Excel那样

【注意】不是将2018-10-13这种格式直接转换成20181013

最佳答案

excel里的时间, 日期部分是和1900-1-1的差值, 时间部分就是 一天所过的比例,
转成sql就是

以字符名TIME为例
datediff(date(TIME), "1900-01-01") + TIME_TO_SEC(TIME) / 86400 + 2

1年前 评论
讨论数量: 2

excel里的时间, 日期部分是和1900-1-1的差值, 时间部分就是 一天所过的比例,
转成sql就是

以字符名TIME为例
datediff(date(TIME), "1900-01-01") + TIME_TO_SEC(TIME) / 86400 + 2

1年前 评论

(以TIME为字段名举例)

SELECT datediff(date(TIME), "1900-01-01") + TIME_TO_SEC(TIME) / 86400 + 2 FROM MyTabel

file

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!