`

MySQL里获取当前week、month、quarter的start_date/end_date

阅读更多

MySQL里获取当前week、month、quarter的start_date/end_date

From:http://hideto.iteye.com/blog/255816

关键字: mysql

当前week的第一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 1 DAY)

当前week的最后一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) - 5 DAY)

前一week的第一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 8 DAY)

前一week的最后一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 2 DAY)

前两week的第一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 15 DAY)

前两week的最后一天:
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 9 DAY)


当前month的第一天:
SELECT concat(date_format(LAST_DAY(now()),'%Y-%m-'),'01')

当前month的最后一天:
SELECT LAST_DAY(now())

前一month的第一天:
SELECT concat(date_format(LAST_DAY(now() - interval 1 month),'%Y-%m-'),'01')

前一month的最后一天:
SELECT LAST_DAY(now() - interval 1 month)

前两month的第一天:
SELECT concat(date_format(LAST_DAY(now() - interval 2 month),'%Y-%m-'),'01')

前两month的最后一天:
SELECT LAST_DAY(now() - interval 2 month)


当前quarter的第一天:
select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-3 month),'%Y-%m-'),'01')

当前quarter的最后一天:
select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-1 month)

前一quarter的第一天:
select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-6 month),'%Y-%m-'),'01')

前一quarter的最后一天:
select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-4 month)

前两quarter的第一天:
select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-9 month),'%Y-%m-'),'01')

前两quarter的最后一天:
select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-7 month)
select * from table where datename(yy,deadline)=2009
select * from table where datename(yy,deadline)=2009 and datename(month,deadline)=6
select * from table where datename(yy,deadline)=2009 and datename(month,deadline)=6 and datename(day,deadline)=16

2009,6,16是从日期控件里得到的年,月,日,
查三个报表时选择相应的sql语句
因为你没有提供更多的信息,所以仅供参考!
回答人的补充   2009-06-16 14:03
deadline是表中的一个日期列
select * from table where month(addtime)=6;
//addtime 时间字段
//6控件得到月份
分享到:
评论

相关推荐

    数据分析中的时间维度表生成

    ROW_WID DAY_DT WEEK MONTH QUARTER HALF_YEAR YEAR WEEK_DAY MONTH_DAY QUARTER_DAY HALF_YEAR_DAY YEAR_DAY MONTH_WEEK QUARTER_WEEK HALF_YEAR_WEEK YEAR_WEEK QUARTER_MONTH HALF_YEAR_MONTH YEAR_MONTH HALF_...

    PL_SQL生成日期维度表

    此过程通过循环遍历从 `begin_date` 到 `end_date` 的每个日期,并使用 Oracle 的内置函数计算出每个字段的值。然后将这些值插入到 `dim_date` 表中。 #### 三、总结 以上过程展示了如何使用 PL/SQL 在 Oracle ...

    Oracle_to_date

    ### Oracle_to_date:Oracle数据库中的日期格式转换 在Oracle数据库中,`TO_DATE`函数是处理日期和时间数据的关键工具之一。它主要用于将字符串转换为日期格式,这在实际的数据处理过程中非常常见,尤其是在需要对...

    在mysql数据库中,建日历表

    CONCAT(DATE_FORMAT(STR_TO_DATE(start_date, '%Y-%m-%d %H:%i:%s'), '%Y'), QUARTER(STR_TO_DATE(start_date, '%Y-%m-%d %H:%i:%s'))) AS qr, DATE_FORMAT(STR_TO_DATE(start_date, '%Y-%m-%d %H:%i:%s'), '%Y-%u...

    python获取指定日期范围内的每一天,每个月,每季度的方法

    首先,需要将字符串格式的`begin_date`转换为datetime对象,同样地,将当前日期也转换为datetime对象。然后利用一个while循环,通过不断给开始日期添加天数来遍历每一天。每次循环中,将格式化后的日期字符串添加到...

    SYS_CALENDAR_DATE.sql

    CREATE TABLE `SYS_CALENDAR_DATE` ( `CALENDAR_DATE` varchar(20) COLLATE utf8mb4_general_ci NOT NULL COMMENT '日期 yyyy-MM-dd', `CALENDAR_YEAR` int(10) NOT NULL COMMENT '年', `CALENDAR_QUARTER` int...

    1_flow_led_quarter开发_fpga_

    在本文中,我们将深入探讨如何使用quarter2开发环境来实现一个基于FPGA的流水灯程序。这个项目,名为"1_flow_led_quarter开发_fpga_",是专为那些想要掌握FPGA设计技术,特别是使用quarter2开发平台的人设计的。我们...

    用SQL批量插入数据的存储过程

    2) /*设置循环次数*/ BEGIN WAITFOR DELAY ‘000:00:10’ /*延迟时间10秒*/ INSERT INTO time_by_day (time_id, the_date, the_year, month_of_year, quarter, day_of_month) SELECT TOP 1 time_id + 1 AS time_id,...

    Gbase 8s内置函数之日期函数

    本文将详细介绍Gbase 8s内置函数中的日期函数,包括SYSDATE、CURRENT、TODAY、LAST_DAY、YEAR、MONTH、DAY、WEEKDAY、QUARTER、ADD_MONTHS、TO_DATE和TO_CHAR等函数。 1. SYSDATE、CURRENT和TODAY函数 SYSDATE、...

    2019-2020 年节假日表 (excel) 文件

    分别为date_key date_value day_in_year day_in_month is_first_day_in_month is_last_day_in_month weekday week_in_month is_first_day_in_week is_dayoff is_workday is_holiday date_type month_number year ...

    WRF软件最新使用指南.pdf

    - **使用算例**: 参考 `em_quarter_ss` 示例进行操作。 - **真实数据**: 针对实际情况调整模型参数和初始条件。 - **胖节点**: - **使用算例**: 同样参考 `em_quarter_ss` 示例。 - **真实数据**: 根据实际观测...

    sliding_quarter_car.rar_quarter car_滑模_滑模 simulink_车 滑模_车滑模

    在Matlab simulink环境下编写的在滑模控制模型的四分之一车模型。 经仿真效果很好

    python获取本周、上周、本月、上月及本季的时间代码实例

    print('--- this_week_start = {} this_week_end = {}'.format(this_week_start, this_week_end)) ``` 5. **获取上周的开始和结束日期** 上周的开始是当前周的周一减去7天,结束是上周的周日。例如: ```python...

    Sql语句 查询本周记录\本月记录\本季度记录\本年记录

    WHERE QUARTER(create_date) = QUARTER(DATE_SUB(NOW(), INTERVAL 1 QUARTER)); ``` 这条语句使用 `QUARTER` 函数将日期转换为季度,然后比较当前日期的季度减去一个季度以获取上季度的记录。 SQL Server 中,您...

    agencywide_3rd_quarter_tagged_1.pdf

    agencywide_3rd_quarter_tagged_1.pdf

    CNN_quarter82t_joined982_卷积神经_matlab_CNN_源码.rar

    在本压缩包"CNN_quarter82t_joined982_卷积神经_matlab_CNN_源码.rar"中,包含的是使用MATLAB实现的CNN模型源代码。MATLAB作为一款强大的数学计算软件,提供了深度学习工具箱,使得在该环境中构建和训练CNN变得相对...

    jishuqi.rar_VHDL/FPGA/Verilog_VHDL_

    在本压缩包“jishuqi.rar_VHDL/FPGA/Verilog_VHDL_”中,包含了一个使用VHDL编写的计数器程序,该程序已经在Quarter two平台上进行了仿真验证并被证明是正确的。 计数器是数字系统中的基本组件,通常用来实现对时间...

Global site tag (gtag.js) - Google Analytics