MySQL日期类型和毫秒值相互转换

有时需要将日期类型值转换成毫秒值,有时也要将毫秒值转换成日期,为了更方便,满足查询的需要。

现在,新建一张数据库表t_stu_info,并向表里插入数据

use test;

show tables;

create table t_stu_info(
     id int not null primary key,
     stu_name varchar(20),
     stu_date timestamp,
     stu_age int(3),
     stu_sex varchar(5)
	);

insert into t_stu_info(id,stu_name,stu_date,stu_age,stu_sex) values ('1','zhangsan','2000-12-12 12:30:00','15','man');

commit;

select * from t_stu_info;

1、日期转换成毫秒值

select UNIX_TIMESTAMP(t.stu_date) from t_stu_info t

2、毫秒值转换成日期

SELECT
    FROM_UNIXTIME(UNIX_TIMESTAMP(t.stu_date),
            '%Y-%m-%d %h:%i:%s') AS stu_date
FROM
    t_stu_info t

SELECT
    FROM_UNIXTIME(UNIX_TIMESTAMP(t.stu_date),
            '%Y-%m-%d') AS stu_date
FROM
    t_stu_info t

时间: 2024-11-07 09:13:39

MySQL日期类型和毫秒值相互转换的相关文章

mysql 日期类型比较

MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型        存储空间       日期格式                 日期范围 ------------ ---------   --------------------- ----------------------------------------- datetime       8 bytes   YYYY-MM-DD HH:MM:SS   1000-01-01 00:00:00 ~ 9999-12-31

转 MySQL 日期类型详解

MySQL 日期类型:日期格式.所占存储空间.日期范围 比较.  日期类型        存储空间       日期格式                 日期范围  ------------ ---------   --------------------- -----------------------------------------  datetime       8 bytes   YYYY-MM-DD HH:MM:SS   1000-01-01 00:00:00 ~ 9999-12-

MySQL日期类型DATETIME和TIMESTAMP

MySQL5的日期类型有三种:DATETIME.DATE和TIMESTAMP,除了DATE用来表示一个不带时分秒的是日期,另外两个都带时分秒.TIMESTAMP还可以精确到毫秒. 其次还有个共性,就是他们的格式"不严格",很自由,一般你认为对的格式都可以正确插入到数据库中. 这里主要解决带时分秒日期的一些常见问题. 一.IMESTAMP 1.TIMESTAMP列必须有默认值,默认值可以为"0000-00-00 00:00:00",但不能为null. 2.TIMEST

Mysql 日期类型比较 TIMESTAMPDIFF

在数据库查询中,经常遇到计算2个日期相差值,SQL提供一个非常有用的函数:TIMESTAMPDIFFT. 基本语法:TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 其中,interval的取值可以为:SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER or YEAR 如:查询2个日期相差的天数 SELECT TIMESTAMPDIFF(DAY,"2015-12-10",NOW())

java mysql 日期类型

mysql(版本:5.1.50)的时间日期类型如下: datetime 8bytes xxxx-xx-xx xx:xx:xx 1000-01-01 00:00:00到9999-12-31 23:59:59 timestamp 4bytes xxxx-xx-xx xx:xx:xx 1970-01-01 00:00:01到2038 date 3bytes xxxx-xx-xx 1000-01-01到9999-12-31 year 1bytes xxxx 1901到2155 time 3bytes x

详解mysql int类型的长度值问题【转】

mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢. 当时我虽然知道int(1),这个长度1并不代表允许存储的宽度,但却没有一个合理的解释. 或者说对这个长度也没有真正的研究过到底代表什么, 平时都用int(11), 也不知道为什么要11位. 所以我在网上查阅了一些资料, 也仔细的看了mysql手册关于int data type的说法. 以下是每个整数类型的存储和范围(来自mysql手册) 类型 字

详解mysql int类型的长度值问题

我的朋友海滨问我mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢. 当时我虽然知道int(1),这个长度1并不代表允许存储的宽度,但却没有一个合理的解释. 或者说对这个长度也没有真正的研究过到底代表什么, 平时都用int(11), 也不知道为什么要11位. 所以我在网上查阅了一些资料, 也仔细的看了mysql手册关于int data type的说法. 以下是每个整数类型的存储和范围(来自mysql

mysql 字符串转换呈毫秒值

SELECT CEIL((UNIX_TIMESTAMP('2011-05-31 23:59:59') - UNIX_TIMESTAMP('2011-05-31 00:59:59'))/1000/60/60); UNIX_TIMESTAMP('2011-05-31 23:59:59')//时间转换成毫秒 SELECT FROM_UNIXTIME(1306771200);  //毫秒转换成时间 ceil()整数取整

MySql日期格式化(format)取值范围

原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/11854052.html