mysql日期函数总结

  • 一、字符串截取&拼接
  • 二、选取日期时间的各个部分
  • 三、个性化选择日期(日期在一周、一月、一年中是第几天等等)
  • 四、需求示例

一、字符串截取&拼接

很多mysql需求包含对日期进行一些操作,而给定的日期实际上是字符串类型,这就需要我们对String进行一些操作,获取其中的日期信息。
1、字符串截取:
substring_index(“aaa_bbb_ccc”,"",1) ,返回为 aaa;
substring_index(“aaa_bbb_ccc”,"
",-1) ,返回为ccc;
substring_index(substring_index(“aaa_bbb_ccc”,"",-2),"",1) ,返回为 bbb。
2、字符串拼接:
concat(‘m’,’y’,’s’,’q’,’l’),返回为mysql。

二、选取日期时间的各个部分

SELECT DATE(NOW())
SELECT TIME(NOW())
SELECT YEAR(NOW())
SELECT MONTH(NOW())
SELECT WEEK(NOW()) //这个注意一下,返回的是本年的第几周(可以用来计算本周过生日的人)
SELECT DAY(NOW())
……

三、个性化选择日期(日期在一周、一月、一年中是第几天等等)

SELECT DAYOFWEEK(NOW())
SELECT DAYOFYEAR(NOW())
……

四、需求示例

1、筛选本周过生日的学生信息
学生student表如下:
mysql日期函数总结答案一:

SELECT * FROM
(SELECT s_name,s_birth,CONCAT(YEAR(NOW()),"-",SUBSTRING_INDEX(s_birth,"-",-2))AS this_year_birth FROM student)s
WHERE WEEK(DATE(s.this_year_birth)) = WEEK(NOW());

答案二:

在这里插入代码片