文章目录
Date、Datetime、Timestamp
数据类型 | 大小 | 范围 |
---|---|---|
date | 3 bytes | 1000-01-01/9999-12-31 |
datetime | 8 bytes | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 |
timestamp | 4 bytes | 1970-01-01 00:00:00 ~ 2038-01-19 03:14:07 |
今天(date)
SELECT CURRENT_DATE();
昨天(date)
SELECT DATE_ADD(CURRENT_DATE(),INTERVAL -1 DAY);
SELECT DATE_SUB(CURRENT_DATE(),INTERVAL 1 DAY);
现在(datetime)
SELECT NOW();
SELECT CURRENT_TIMESTAMP();
Unix时间戳
从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数
数据类型为bigint
SELECT UNIX_TIMESTAMP();
类型转换
date => 字符串
SELECT DATE_FORMAT(CURRENT_DATE(),'%Y-%m-%d');
datetime => date
SELECT DATE(NOW());
datetime => 字符串
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %T');
字符串 => date
SELECT DATE('2022-04-21');
字符串 => datetime
SELECT str_to_date('2022-04-20 23:59:59','%Y-%m-%d %H:%i:%s')
秒 => 字符串
查看时区
SHOW VARIABLES LIKE "%time_zone%";
秒转字符串
select FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y-%m-%d %h:%i:%s');
SELECT FROM_UNIXTIME(0,'%Y-%m-%d %h:%i:%s');