MySql有关于时间的函数
函数:
- now() :
2021-05-28 16:40:34
- curtime():
16:41:15
- curdate():
2021-05-28
嵌套使用:
-
SELECT MONTH(NOW());
RESULT:
±-------------+
| month(now()) |
±-------------+
| 5 |
±-------------+ -
SELECT MONTHNAME(NOW()) 月;
RESULT:
±-----+
| 月 |
±-----+
| May |
±-----+
格式化转换
-
str_to_date : 将日期格式的字符转换成指定格式的日期
用法:
SELECT STR_TO_DATE(‘9-13-1997’,’%m-%d-%Y’) 格式化后
RESULT:
±------------------------------------+
| 格式化后 |
±------------------------------------+
| 1997-09-13 |
±------------------------------------+业务场景:
SELECT * FROM employees WHERE hiredate = STR_TO_DATE(‘4-3 1992’,’%c-%d %Y’);
-
date_format: 将日期转换成字符
select DATE_FORMAT(‘2018/6/8’,’%Y年%m月%d日’) as 日期转字符;
±---------------+
| 日期转字符 |
±---------------+| 2018年06月08日 |
±---------------+
1 row in set (0.00 sec)
常用的时间转换格式对照表:
日期和时间相关的数据类型
日期和时间类型 | 字节 | 最小值 | 最大值 |
---|---|---|---|
date | 4 | 1000-01-01 | 9999-12-31 |
datetime | 8 | 1000-01-01 00:00:00 | 9999-12-31 23:59:59 |
timestamp | 4 | 19700101080001 | 2038年 |
time | 3 | -838:59:59 | 838:59:59 |
year | 1 | 1901 | 2155 |
Timestamp 和datetime的区别
1、Timestamp支持的时间范围较小
2、timestamp和实际时区有关,更能反映实际的日期,而datetime则只能反映出插入时的当地时区。
3、timestamp的属性受Mysql版本和SQLMode的影响很大。
p和实际时区有关,更能反映实际的日期,而datetime则只能反映出插入时的当地时区。
3、timestamp的属性受Mysql版本和SQLMode的影响很大。
LONG TIME NO SEE