MySQL- date专栏

参考教程网址: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函数将任何类型的值转换为具有指定类型的值。目标类型可以是以下类型中的任何一个:BINARYCHARDATEDATETIMETIMEDECIMALSIGNEDUNSIGNED,通常用于返回具有指定类型的值,以便在WHEREJOINHAVING子句中进行比较

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);

输出为:

发布了19 篇原创文章 · 获赞 1 · 访问量 2190

猜你喜欢

转载自blog.csdn.net/wella_liu/article/details/88786707