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

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

WBOY
WBOYOriginal
2016-06-01 13:32:52787browse

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
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn