随笔 - 21  文章 - 0  评论 - 0  阅读 - 6157

mysql--时间

mysql时间相关类型:

date  //年月日 2023-1-15
time  //时分秒 10:10:10
datetime //年月日时分秒 2023-1-15 10:10:10
timestamp //时间戳,插入,更新时自动写入当前时间

注意mysql的时间格式,日期尽量使用 yyyy-mm--dd的形式,虽然其他的日期形式也行,但这是首选的,排除多义性。

例如04/05/06可以是2004-05-06 也可以是2006-05-04.

date 和datetime

复制代码
//datetime复制给date 时间部分微00:00:00 日期一样。
CREATE TABLE date1 ( `date` DATE ); INSERT INTO date1 VALUES (
'2023-1-15 10:10:10'); SELECT * FROM date1;  //结果为2023-1-15

//date和datetime比较
//mysql仅将date和datetime中的年月日比较,忽略了时间。
//通常使用Date函数来比较
Date('2023-1-15 10:10:10') = '2023-1-15'
复制代码

Date函数来取时间类型的年月日, Time函数来取时间类型的时分秒, Year函数返回年份, Month返回月份。

select * fromwhere Year(`date`) = 2023 AND Month(`date`) = 9
//返回时间在九月份以内的行

相关函数

CURRENT_DATE()    //当前日期
CURRENT_TIME()    //当前时间
CURRENT_TIMESTAMP    //当前时间戳
DATE(datetime)    //返回datetime的日期部分
DATE_ADD(date2, INTERVAL d_value d_type)    //在date2上增加日期或时间
SELECT CURRENT_DATE() FROM DUAL;        //2023-01-15
SELECT CURRENT_TIME() FROM DUAL;        //20:15:00
SELECT CURRENT_TIMESTAMP() FROM DUAL;     //2023-01-15 20:15:23

SELECT DATE('2023-1-15 10:10:10') FROM DUAL;  //2023-01-15
SELECT DATE_ADD('2023-1-15 10:10:10', INTERVAL 2 YEAR) FROM DUAL;  //2025-01-15 10:10:10
SELECT DATE_ADD('2023-1-15 10:10:10', INTERVAL 2 MINUTE) FROM DUAL; //2023-01-15 10:12:10 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

DATE_SUB(date2, INTERVAL d_value d_type)  //date2减去给定的时间
NOW()                        //返回当前时间
DATEDIFF(date1, date2)             //两个时间差的天数,date1 - date2,结果可以为负
UNIX_TIMESTAMP()                 //返回1907-1-1到现在的秒数
FROM_UNIXTIME()                 //回复unix_timestamp
SELECT DATE_SUB('2023-1-15 10:10:10', INTERVAL 2 YEAR) FROM DUAL; //2021-01-15 10:10:10
SELECT DATE_SUB('2023-1-15 10:10:10', INTERVAL 2 MINUTE) FROM DUAL; //2023-01-15 10:08:10
SELECT NOW() FROM DUAL; //2023-01-15 20:30:33
SELECT DATEDIFF('2023-1-15 10:10:10', '2023-1-10 10:0:0'); //5
SELECT UNIX_TIMESTAMP() FROM DUAL;   //1673785871
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP()) FROM DUAL; //2023-01-15 20:31:52
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y-%m-%d') FROM DUAL; //2023-01-15
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y-%m-%d %H:%i:%s') FROM DUAL; //2023-01-15 20:33:07

 

posted on   博览天下with天涯海角  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示