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表如下:答案一:
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());
答案二:
在这里插入代码片