ホームページ  >  記事  >  データベース  >  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 までご連絡ください。