首页
学习
活动
专区
圈层
工具
发布

mysql查询一周内的数据,解决一周的起始日期是从星期日(星期天|周日|周天)开始的问题

前言 今天又遇到很坑的问题了,因为外国友人每一周的起始日期是周日,跟我们的不一样,我们每一周的起始日期是星期一,这样导致我要用mysql统计一周的数据的时候,对于我们来说,查询的记录包括:上周日的记录...大家可以很明显的看到2018年12月2日的记录也查出来了,12月2日是星期日。为了让大家更直观的看,我把12月的月份截出来 ? 所以这样查询出来的记录,对于我们来说是有问题的。接下来教大家解决办法。...从上面YEARWEEK()函数API可以知道,还有mode这个字段是可以自己设置一周是从星期几开始的,不写的话默认是星期日为一周的开始日期,这里为了适用我们的系统,将星期一设置为一周的开始日期,我们就给

4.6K21

SQL进阶-6-时间函数及格式化处理

CURTIME() 返回当前的时间 DATE() 提取日期或日期/时间表达式的日期部分 EXTRACT() 返回日期/时间按的单独部分 DATE_ADD() 给日期添加指定的时间间隔 DATE_SUB() 从日期减去指定的时间间隔...AM 或 PM %r 时间,12-小时(hh:mm:ss AM 或 PM) %S 秒(00-59) %s 秒(00-59) %T 时间, 24-小时 (hh:mm:ss) %U 周 (00-53) 星期日是一周的第一天...%u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与 %x 使用 %W 星期名 %w 周的天...(0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4 位 %y 年,2 位

1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mysql查询一段时间记录

    返回 date 在一年中的季度,范围为 1 到 4: mysql> SELECT QUARTER(’98-04-01’); -> 2 WEEK(date) WEEK(date,first) 对于星期日是一周中的第一天的场合...两个参数形式的 WEEK() 允许你指定一周是否以星期日或星期一开始,以及返回值为 0-53 还是 1-52。...这里的一个表显示第二个参数是 如何工作的: 值 含义 0 一周以星期日开始,返回值范围为 0-53 1 一周以星期一开始,返回值范围为 0-53 2 一周以星期日开始...注意,如果一周是上一年的最后一周,当你没有使用 2 或 3 做为可选参数时, MySQL 将返回 0: mysql> SELECT YEAR(’2000-01-01’), WEEK(’2000-01-...expr 是一个表达式,指定从开始日期上增加还是减去间隔值。expr 是一个字符串;它可以以一个 “-” 领头表示一个 负的间隔值。type 是一个关键词,它标志着表达式以何格式被解释。

    6.5K10

    mysql中关于时间统计的sql语句总结

    date 在一年中的季度,范围为 1 到 4: mysql> SELECT QUARTER(’98-04-01’); -> 2 WEEK(date) WEEK(date,first) 对于星期日是一周中的第一天的场合...两个参数形式的 WEEK() 允许你指定一周是否以星期日或星期一开始,以及返回值为 0-53 还是 1-52。...这里的一个表显示第二个参数是如何工作的: 值 含义 0 一周以星期日开始,返回值范围为 0-53 1 一周以星期一开始,返回值范围为 0-53 2 一周以星期日开始,返回值范围为 1-53 3 一周以星期一开始...注意,如果一周是上一年的最后一周,当你没有使用 2 或 3 做为可选参数时,MySQL 将返回 0: mysql> SELECT YEAR(’2000-01-01’), WEEK(’2000-01-01...expr 是一个表达式,指定从开始日期上增加还是减去间隔值。expr 是一个字符串;它可以以一个 “-” 领头表示一个负的间隔值。type 是一个关键词,它标志着表达式以何格式被解释。

    4.9K10

    Oracle函数 – 日期函数详解

    很多的查询条件和统计都需要求得一周的时间段,也就是星期一到星期日的时间段。给出日期d和星期string之后计算下一个星期的日期....String是星期几;当前会话的语言指定了一周中的某一天.返回值的时间分量与d的时间分量是相同的....④ 如果 fmt 为“DAY”则舍入到最近的周的周日,即上半周舍去,下半周作为下一周周日。...方式一:使用TO_CHAR(SYSDATE,'D')可以求得当前日期是一周的第几天,得到的结果是星期日开始作为第1天的,那么星期一就是第2天,星期日就是第8天。...7天,而星期日的日期就是5-21减去1天. select to_char(sysdate, 'yyyy-mm-dd') 今天,'星期'||substr('日一二三四五六',to_number(to_char

    9.7K11

    Excel常用函数

    Return_type返回的数字1 或省略数字 1(星期日)到 7(星期六)。 同 Microsoft Excel 早期版本。2数字 1(星期一)到 7(星期日)。...用法 数据 2008-2-14 公式 描述(结果) 结果 =WEEKDAY(A2) 使用数字 1(星期日)到 7(星期六)表示的一周中的第几天 (5) 5 =WEEKDAY(A2, 2) 使用数字...1(星期一)到 7(星期日)表示的一周中的第几天 (4) 4 =WEEKDAY(A2, 3) 使用数字 0(星期一)到 6(星期日)表示的一周中的第几天 (3) 3 18、日期函数 DATE() 返回表示特定日期的连续序列号...如果 *month* 小于 1,则 *month* 会从指定年份的第一个月开始减去该月份数,然后再加上 1 个月。...如果 *day* 小于 1,则 *day* 从指定月份的第一天开始减去该天数,然后再加上 1 天。例如,DATE(2008,1,-15) 返回表示 2007 年 12 月 16 日的序列号。

    6.9K40

    SQL 简易教程 下

    SELECT DATE_ADD('2010-3-4', INTERVAL 45 DAY) AS OrderPayDate DATE_SUB() 函数从日期减去指定的时间间隔。...和DATE_ADD 一个是加上日期, 一个是减去日期 DATEDIFF() 函数返回两个日期之间的天数。...AM 或 PM %r 时间,12-小时(hh:mm:ss AM 或 PM) %S 秒(00-59) %s 秒(00-59) %T 时间, 24-小时(hh:mm:ss) %U 周(00-53)星期日是一周的第一天...%u 周(00-53)星期一是一周的第一天 %V 周(01-53)星期日是一周的第一天,与 %X 使用 %v 周(01-53)星期一是一周的第一天,与 %x 使用 %W 星期名 %w 周的天...(0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4 位 %y 年,2 位 防止 SQL

    3.4K10

    ClickHouse之常见的时间周期函数 - Java技术债务

    toStartOfWeek(t[,mode]) 按mode将Date或DateTime向前取整到最近的星期日或星期一。 返回Date类型。...两个参数形式可以指定星期是从星期日还是星期一开始,以及返回值应在0到53还是从1到53的范围内。如果省略了mode参数,则默认 模式为0。...否则,它是上一年的最后一周,下周是第1周。 2 Sunday 1-53 看周日在哪一年 3 Monday 1-53 如果包含1月1日的一周在后一年度中有4天或更多天,则为第1周。...否则,它是上一年的最后一周,下周是第1周。 4 Sunday 0-53 如果包含1月1日的一周在后一年度中有4天或更多天,则为第1周。否则,它是上一年的最后一周,下周是第1周。...5 Monday 0-53 看周一在哪一年 6 Sunday 1-53 如果包含1月1日的一周在后一年度中有4天或更多天,则为第1周。否则,它是上一年的最后一周,下周是第1周。

    3.5K10

    SQL函数 WEEK

    因此,周数是逐年计算的,因此第 1 周是完成从上一年最后一周开始的 7 天期间的天数。一周总是从星期日开始;因此,日历年的第一个星期日标志着从第 1 周到第 2 周的变化。...如果一年中的第一个星期日是 1 月 1 日,则该星期日是第 1 周;如果一年中的第一个星期日晚于 1 月 1 日,则该星期日是第 2 周的第一天。因此,第 1 周的长度通常少于 7 天。...示例以下嵌入式 SQL 示例返回 2005 年 1 月 2 日(星期日)和 2006 年 1 月 1 日(星期日)的星期几和一年中的星期几。...Wk_Horolog, {fn WEEK($ZTIMESTAMP)} AS Wk_ZTS 20 20 20 20 20以下嵌入式 SQL 示例显示了 默认的一年中的一周以及应用...ISO 8601 标准的一年中的一周:/// d ##class(PHA.TEST.SQLFunction).Week1()ClassMethod Week1(){TestISO s def =

    2.7K10

    Java SE8 日期和时间API

    地球自转一周需要24个小时,即24 x 60 x 60 = 86400秒。但是地球有轻微的颤动,所以需要更加精确的定义。...,其月的日期、年的日期、月或年修改为给定的值 getDayOfMonth 获取月的日期(在1到31之间) getDayOfYear 获取年的日期(在1到366之间) getDayOfWeek 获取星期日期...getDayOfWeek方法:产生星期日期,即DayOfWeek枚举的某个值。DayOfWeek.MONDAY的枚举值是1。...DayOfWeek枚举具有便捷方法plus和minus,以7为模型计算星期日期。 例如,DayOfWeek.SATURDAY.plus(3)会产生DayOfWeek.TUESDAY。...(weekday) 从给定的日期开始的下一个或上一个给定的星期日期 dayOfWeekInMonth(n, weekday) 月份中的n个weekday lastInMonth(weekday) 月份中的最后一个

    3.3K30

    求本年、本月、本周等数据

    在SQL中不能用date()代替 它在那相当于now() 举例一周的 select * from 表 where datediff(week,时间字段,getdate())=0 要注意的是,datediff...是将星期日做为一周的第一天 即:datediff(week,'2003-07-27','2003-08-01')的值为0 如果你要求将星期一做为一周的第一天,就要用: select * from...,比如随便 2009-8-27,加一个月就是2009-9-27,然后减去2009-8-27时间的天数27天 正好是2009-8-31,没问题呀。...都不是,由于月大月小的问 题,6月份只有30天,所以2009-5-31加一个月后是2009-6-30日,还是按上面的写法然后再减去2009-5-31时间的天数31天,最终 得到的最后一天是2009-5-...2009-1-30加一个月是2009-2-28,减去28天后是2009-1-31符合正确性。

    1.1K10

    YashanDB TRUNC函数

    ,返回该周的第一天ISO 当年第一天可能是公历前一年12月末QuarterQ返回当季度第一天MonthMONTH, MON, MM, RM返回当月第一天WeekWW每年的1月1日作为当年的第一周的第一天...,返回当周第一天星期一到星期日都有可能IWIW星期一为每周的第一天,返回当周第一天WW每月1日作为本月第一周的第一天,返回当周第一天DayDDD, DD, J返回当前日期Start day of the...weekDAY, DY, D星期日为每周的第一天,返回当周第一天HourHH, HH12, HH24返回本小时的开始时间MinuteMI返回本分钟的开始时间nullnullnull当不指定fmt时,默认为...,返回当周第一天星期一到星期日都有可能IWIW星期一为每周的第一天,返回当周第一天WW每月1日作为本月第一周的第一天,返回当周第一天DayDDD, DD, J返回当前日期Start day of the...weekDAY, DY, D星期日为每周的第一天,返回当周第一天HourHH, HH12, HH24返回本小时的开始时间MinuteMI返回本分钟的开始时间nullnullnull当不指定fmt时,默认为

    51010
    领券