Rumah  >  Artikel  >  pangkalan data  >  MySQL里求给定的时间是所在月份的第几个礼拜_MySQL

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

WBOY
WBOYasal
2016-06-01 13:32:52732semak imbas

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
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn