mysql时间属性之时间戳和datetime之间的转换

一、datetime转换为时间戳

    方案一:强制转换字段类型

use`nec`;
SET SQL_SAFE_UPDATES=0;
ALTER TABLE `usr_user_info` CHANGE COLUMN `registerTime` `registerTime` BIGINT(20) NOT NULL COMMENT '注册时间' ,
ALTER TABLE `usr_user_info` CHANGE COLUMN `lastLoginTime` `lastLoginTime` BIGINT(20) NULL DEFAULT NULL COMMENT '最后登录时间' ;
UPDATE `usr_user_info` SET  `lastLoginTime` = unix_timestamp(`lastLoginTime`);
UPDATE `usr_user_info` SET  `registerTime` = unix_timestamp(`registerTime`);

方案二:增加临时列

--
-- table alter for usr_user_info
--
/*增加字段*/
use `nec`;
ALTER TABLE `usr_user_info` ADD COLUMN tempRegisterTime BIGINT(20) NULL ;
ALTER TABLE `usr_user_info`  ADD COLUMN tempLastLoginTime BIGINT(20) NULL ;

/*进行时间转化,并复制列*/
UPDATE  usr_user_info SET tempRegisterTime=unix_timestamp(registerTime);
UPDATE  usr_user_info SET tempLastLoginTime=unix_timestamp(lastLoginTime);

/*删除原有字段*/
ALTER TABLE usr_user_info
    DROP registerTime,DROP lastLoginTime;

/*更新临时字段名称*/
ALTER TABLE usr_user_info CHANGE tempRegisterTime registerTime BIGINT(20) NOT NULL  COMMENT '注册时间';
ALTER TABLE usr_user_info CHANGE tempLastLoginTime lastLoginTime BIGINT(20)  COMMENT '最近登录时间';

二、时间戳转换成datetime

     这个谷歌一堆教程,主要涉及'FROM_UNIXTIME(registerTime )'这个转换函数

发布了23 篇原创文章 · 获赞 2 · 访问量 5256

猜你喜欢

转载自blog.csdn.net/bianlitongcn/article/details/83781177