首頁  >  文章  >  資料庫  >  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