最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

mysql--时间

来源:博客园


(资料图片)

mysql时间相关类型:

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

注意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 * from 表 where 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-15SELECT CURRENT_TIME() FROM DUAL;        //20:15:00SELECT CURRENT_TIMESTAMP() FROM DUAL;     //2023-01-15 20:15:23SELECT DATE("2023-1-15 10:10:10") FROM DUAL;  //2023-01-15SELECT DATE_ADD("2023-1-15 10:10:10", INTERVAL 2 YEAR) FROM DUAL;  //2025-01-15 10:10:10SELECT 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:10SELECT DATE_SUB("2023-1-15 10:10:10", INTERVAL 2 MINUTE) FROM DUAL; //2023-01-15 10:08:10SELECT NOW() FROM DUAL; //2023-01-15 20:30:33SELECT DATEDIFF("2023-1-15 10:10:10", "2023-1-10 10:0:0"); //5SELECT UNIX_TIMESTAMP() FROM DUAL;   //1673785871SELECT FROM_UNIXTIME(UNIX_TIMESTAMP()) FROM DUAL; //2023-01-15 20:31:52SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), "%Y-%m-%d") FROM DUAL; //2023-01-15SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), "%Y-%m-%d %H:%i:%s") FROM DUAL; //2023-01-15 20:33:07

关键词: 当前时间 时间类型 通常使用