【问题标题】:SQL - Convert BIGINT(20) to datetime datatypeSQL - 将 BIGINT(20) 转换为日期时间数据类型
【发布时间】:2020-09-07 17:29:28
【问题描述】:
在 mysql 工作台中,我的表中有一个 id 列,其数据类型为 bigint:
id BIGINT(20)
此列将日期时间保存为 bigint。
为了更清楚,该列包含一个值,例如:
20190529230339
我需要将其转换为日期时间数据类型以显示为:
2019-05-29 23:03:39
【问题讨论】:
标签:
sql
datetime
type-conversion
mysql-workbench
【解决方案1】:
你可以使用STR_TO_DATE,首先将 bigint 数字转换为文本:
SELECT
field,
STR_TO_DATE(CAST(field AS CHAR(14)), '%Y%m%d%H%i%s') AS field_datetime
FROM yourTable;
Demo
【解决方案2】:
STR_TO_DATE 可以解决问题:
SELECT CONVERT(STR_TO_DATE('20130101 1130','%Y%m%d %h%i'),DATETIME);
我使用 Convert 而不是 Cast
2013-01-01 11:30:00