日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

存储过程-求当前日期是这个月的第几周

發布時間:2023/12/13 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 存储过程-求当前日期是这个月的第几周 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

表定義:

CREATE TABLE `time_dim` (
   `DAY_KEY` char(8) DEFAULT NULL COMMENT '時間',
   `DAY_DATE` date DEFAULT NULL COMMENT '日期',
   `DAY_YEAR` char(4) DEFAULT NULL COMMENT '年份',
   `DAY_QUARTER` char(2) DEFAULT NULL COMMENT '季度',
   `DAY_MONTH` char(2) DEFAULT NULL COMMENT '月份',
   `week_inmonth` char(1) DEFAULT NULL COMMENT '月份的第幾周',
   `WEEK_INYEAR` char(2) DEFAULT NULL COMMENT '年份的第幾周',
   `DAY_INMONTH` char(2) DEFAULT NULL COMMENT '日'
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

思路:

當前日期 - 這個月的第一天 +1 = 這個月的第幾天 n

1.通過內置函數得到這個月1號是星期幾,從而得到第一周有多少天 m

2.n<=m在第一周內 屬于第一周

n>m在第一周外 (n-m)/7+1 得到周數

DELIMITER $$
USE `test`$$
DROP FUNCTION IF EXISTS `get_week_month`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `get_week_month`(date1 CHAR(10)) RETURNS CHAR(10)
BEGIN
DECLARE result INT(11);
DECLARE startday CHAR(8);
DECLARE xingqi   CHAR(10);       /*本月的第一天是星期幾*/
DECLARE week_num INT(11); /*本月的第一周一共有幾天*/
DECLARE day_num INT(11); /*date1 是這個月的第幾天*/
DECLARE day_num2 INT(11);
DECLARE tmp_date1 DATE;
DECLARE tmp_date2 DATE;
IF SUBSTRING(date1,7,2)='01' THEN
SET result=1;
ELSE
SET startday=CONCAT(SUBSTRING(date1,1,6),'01');
SET xingqi=DAYOFWEEK(STR_TO_DATE(startday,'%Y%m%d'));
SELECT CASE xingqi
WHEN '2' THEN 7
WHEN '3' THEN 6
WHEN '4' THEN 5
WHEN '5' THEN 4
WHEN '6' THEN 3
WHEN '7' THEN 2
WHEN '1' THEN 1
END INTO @week_num1;
SET week_num=@week_num1;
SET tmp_date1=STR_TO_DATE(date1,'%Y%m%d');
SET tmp_date2=STR_TO_DATE(startday,'%Y%m%d');
SET day_num=(DATEDIFF(tmp_date1,tmp_date2)+1);
IF day_num <=week_num THEN
SET result=1;
ELSE
SET day_num2=day_num-week_num;
SET result=(CEILING(day_num2/7)+1);
END IF;
END IF;
       RETURN result;
END$$
DELIMITER ;

總結

以上是生活随笔為你收集整理的存储过程-求当前日期是这个月的第几周的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。