首页  >  文章  >  数据库  >  MySQL里求给定的时间是所在月份的第几个礼拜_MySQL

MySQL里求给定的时间是所在月份的第几个礼拜_MySQL

WBOY
WBOY原创
2016-06-01 13:32:52783浏览

bitsCN.com

MySQL里求给定的时间是所在月份的第几个礼拜

 

Share 一个昨天写的函数。 目的是求给定的时间是所在月份的第几个礼拜。

 

[sql] 

DELIMITER $$  

 

USE `t_girl`$$  

 

DROP FUNCTION IF EXISTS `weekofmonth`$$  

 

CREATE DEFINER=`root`@`localhost` FUNCTION `weekofmonth`(  

    f_datetime DATETIME  

    ) RETURNS INT(11)  

BEGIN  

   -- Created by ytt.  

 

    DECLARE v_result INT;      

    DECLARE v_weekno INT;  

    SET v_weekno =   

    CASE DAYOFWEEK(f_datetime)   

    WHEN 1 THEN 7  

    WHEN 2 THEN 1  

    WHEN 3 THEN 2  

    WHEN 4 THEN 3  

    WHEN 5 THEN 4  

    WHEN 6 THEN 5  

    WHEN 7 THEN 6  

    END;  

    SET v_result = CEIL(DAYOFMONTH(DATE_SUB(f_datetime,INTERVAL v_weekno DAY))/7)+1;  

    RETURN v_result;  

        

    END$$  

 

DELIMITER ;  

 

演示下结果:

 

SELECT weekofmonth(NOW()) AS result;

 

 

query result:

 

 

result

4

bitsCN.com
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn