mysql - 在 MySQL 中将 BigInt 转换为时间戳
问题描述
我有一个表,在这个表中我有一个当前存储类型值的列BigInt
,我想更改此列以包含“时间戳”值。
我怎样才能做到这一点。我努力了:
ALTER TABLE t
MODIFY c TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
我得到:
#1292 - Incorrect datetime value: '1524120113' for column 'created_temp' at row 1
和
ALTER TABLE share ADD created_temp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
UPDATE share SET created_temp = UNIX_TIMESTAMP(created);
我得到:#1292 - Incorrect datetime value: '1524120113'
的内容created
是使用创建的UNIX_TIMESTAMP()
解决方案
例如,假设您有时间戳1376750476349
并且想要将其转换为日期时间。如果您的时间戳在seconds
.
select FROM_UNIXTIME(timestamp_value);
但是,对于上述函数的许多用户来说,这是一个经常出现的问题,如果您的时间戳记在 中milliseconds
,则在使用该函数之前,您必须执行所需的秒数转换。因此,在时间戳以毫秒为单位的情况下,您可以执行以下操作来获取日期时间:
select FROM_UNIXTIME(timestamp_value/1000);
希望这可以帮助。享受!
推荐阅读
- python - 使用 tkinter 并排显示多个图像
- reactjs - 如何在 laravel 中使用 web.php 登录到带有反应前端的登录
- javascript - 如何使用逗号为 Input onChangeText React Native 验证十进制?
- install4j - 如果操作失败,如何跳转到屏幕?
- amazon-web-services - 如何在 Go 中将 AWS Gateway 参数传递给 AWS lambda 函数
- reactjs - 如何在 Babylonjs Reactjs 项目中加载 gltf 模型
- javascript - 按住里面有图像的按钮时如何删除弹出窗口?
- bluetooth-lowenergy - 蓝牙低功耗特性访问仅工作一次
- angular - 我在指令 L10nDirective 中遇到错误
- php - 如何使用 PHP 编写的将文件上传到我机器上的文件夹的代码来解决这个问题?