参考教程网址:http://www.w3school.com.cn/sql/sql_dates.asp
处理日期时,最重要的是确保我们的日期格式和数据库的日期格式一致。专门讨论下mysql中日期相关的内容。
Mysql 的date函数
函数 | 描述 |
---|---|
NOW() | 返回当前的日期和时间 :2019-03-25 10:04:38 |
CURDATE() | 返回当前的日期 :2019-03-25 |
CURTIME() | 返回当前的时间 :10:05:01 |
DATE() | 提取日期或日期/时间表达式的日期部分:2019-03-25 |
EXTRACT() | 返回日期/时间按的单独部分:EXTRACT(datepart FROM date), eg.SELECT EXTRACT(MONTH FROM NOW()) -->3 |
DATE_ADD() | 给日期添加指定的时间间隔: DATEADD(datepart,number,date) |
DATE_SUB() | 从日期减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的天数 |
DATE_FORMAT() | 用不同的格式显示日期/时间 |
其中datepart 参数可为以下数值:
datepart | 缩写 |
---|---|
年 | yy, yyyy = Year |
季度 | qq, q = Quarter |
月 | mm, m = month |
年中的日 | dy, y = Day of the year |
日 | dd, d = day |
周 | wk, ww = Week |
星期 | dw, w = Weekday |
小时 | hh = hour |
分钟 | mi, n = Minute |
秒 | ss, s = Second |
毫秒 | ms = Millisecond |
微妙 | mcs |
纳秒 | ns |
使用下列数据类型在数据库中存储日期或日期/时间值:
- DATE - 格式 YYYY-MM-DD
- DATETIME - 格式: YYYY-MM-DD HH:MM:SS
- TIMESTAMP - 格式: YYYY-MM-DD HH:MM:SS
- YEAR - 格式 YYYY 或 YY
使用MySQL CAST函数将任何类型的值转换为具有指定类型的值。目标类型可以是以下类型中的任何一个:BINARY
,CHAR
,DATE
,DATETIME
,TIME
,DECIMAL
,SIGNED
,UNSIGNED
,通常用于返回具有指定类型的值,以便在WHERE,JOIN和HAVING子句中进行比较
CAST(expression AS TYPE);
如:
SELECT (1 + CAST('1' AS UNSIGNED))/2
output : 2
如在日期中进行格式调整,
SELECT orderNumber,
requiredDate
FROM orders
WHERE requiredDate BETWEEN '2003/01/01' AND '2003-01-31';
使用cast函数:
SELECT orderNumber,
requiredDate
FROM orders
WHERE requiredDate BETWEEN CAST('2003-01-01' AS DATETIME)
AND CAST('2003-01-31' AS DATETIME);
输出为: