精华内容
下载资源
问答
  • 今天又遇到很坑的问题了,因为外国友人每一周的起始日期是周日,跟我们的不一样,我们每一周的起始日期是星期一,这样导致我要用mysql统计一周的数据的时候,对于我们来说,查询的记录包括:上周的记录+本周的数据...

    前言
    今天又遇到很坑的问题了,因为外国友人每一周的起始日期是周日,跟我们的不一样,我们每一周的起始日期是星期一,这样导致我要用mysql统计一周的数据的时候,对于我们来说,查询的记录包括:上周日的记录+本周的数据到星期六 这样的数据,这就不符合我们的要求,把上周日的数据也统计进来了。

    修改后的

    #查询本周
    select A.sushenum,cast(A.dfdata as DECIMAL (10,3)) dfdatanumber,A.dfdata,
            cast(A.dfmoney as DECIMAL (10,3)) dfmoneynumber,A.dfmoney,DATE_FORMAT(A.lrrq,'%Y-%m-%d %H:%i:%S') lrrq
            from tablename_test A
            where YEARWEEK(date_format(A.lrrq,'%Y-%m-%d'),1) = YEARWEEK(now(),1)
            and A.sushenum = '1309'
     
     
    #查询上周
    select A.sushenum,cast(A.dfdata as DECIMAL (10,3)) dfdatanumber,A.dfdata,
            cast(A.dfmoney as DECIMAL (10,3)) dfmoneynumber,A.dfmoney,DATE_FORMAT(A.lrrq,'%Y-%m-%d %H:%i:%S') lrrq
            from tablename_test A
            where YEARWEEK(date_format(A.lrrq,'%Y-%m-%d'),1) = YEARWEEK(now(),1)-1
            and A.sushenum = '1309'
    
    展开全文
  • 今天又遇到很坑的问题了,因为外国友人每一周的起始日期是周日,跟我们的不一样,我们每一周的起始日期是星期一,这样导致我要用mysql统计一周的数据的时候,对于我们来说,查询的记录包括:上周的记录+本周的数据...

    前言

    今天又遇到很坑的问题了,因为外国友人每一周的起始日期是周日,跟我们的不一样,我们每一周的起始日期是星期一,这样导致我要用mysql统计一周的数据的时候,对于我们来说,查询的记录包括:上周日的记录+本周的数据到星期六 这样的数据,这就不符合我们的要求,把上周日的数据也统计进来了。

    所以也是找了好久的资料,才终于解决

     

    一、问题发现:

    默认我一开始写的测试查询本周上周数据的语句是这样的:

    #查询本周
    select A.sushenum,cast(A.dfdata as DECIMAL (10,3)) dfdatanumber,A.dfdata,
            cast(A.dfmoney as DECIMAL (10,3)) dfmoneynumber,A.dfmoney,DATE_FORMAT(A.lrrq,'%Y-%m-%d %H:%i:%S') lrrq
            from tablename_test A
            where YEARWEEK(date_format(A.lrrq,'%Y-%m-%d')) = YEARWEEK(now())
            and A.sushenum = '1309'
    
    
    #查询上周
    select A.sushenum,cast(A.dfdata as DECIMAL (10,3)) dfdatanumber,A.dfdata,
            cast(A.dfmoney as DECIMAL (10,3)) dfmoneynumber,A.dfmoney,DATE_FORMAT(A.lrrq,'%Y-%m-%d %H:%i:%S') lrrq
            from tablename_test A
            where YEARWEEK(date_format(A.lrrq,'%Y-%m-%d')) = YEARWEEK(now())-1
            and A.sushenum = '1309'

    顺便提一下,查询本周和上周的区别,大家可以对照上面两条sql语句,区别就是

    本周是 YEARWEEK(now())-0 

    上周是 YEARWEEK(now())-1

    上上周也就是 YEARWEEK(now())-2,以此类推。

    查询到的记录是

    大家可以很明显的看到2018年12月2日的记录也查出来了,12月2日是星期日。为了让大家更直观的看,我把12月的月份截出来

    所以这样查询出来的记录,对于我们来说是有问题的。接下来教大家解决办法。

     

    二、问题解决

    可以清楚的知道,mysql查询本周,上周用到的是YEARWEEK()这个函数,具体使用教程可以看链接:http://www.runoob.com/mysql/mysql-functions.html

     

    从上面YEARWEEK()函数API可以知道,还有mode这个字段是可以自己设置一周是从星期几开始的,不写的话默认是星期日为一周的开始日期,这里为了适用我们的系统,将星期一设置为一周的开始日期,我们就给mode设为1就可以啦。

    修改后:

    #查询本周
    select A.sushenum,cast(A.dfdata as DECIMAL (10,3)) dfdatanumber,A.dfdata,
            cast(A.dfmoney as DECIMAL (10,3)) dfmoneynumber,A.dfmoney,DATE_FORMAT(A.lrrq,'%Y-%m-%d %H:%i:%S') lrrq
            from tablename_test A
            where YEARWEEK(date_format(A.lrrq,'%Y-%m-%d'),1) = YEARWEEK(now(),1)
            and A.sushenum = '1309'
    
    
    #查询上周
    select A.sushenum,cast(A.dfdata as DECIMAL (10,3)) dfdatanumber,A.dfdata,
            cast(A.dfmoney as DECIMAL (10,3)) dfmoneynumber,A.dfmoney,DATE_FORMAT(A.lrrq,'%Y-%m-%d %H:%i:%S') lrrq
            from tablename_test A
            where YEARWEEK(date_format(A.lrrq,'%Y-%m-%d'),1) = YEARWEEK(now(),1)-1
            and A.sushenum = '1309'

    修改后查询到的记录是:

     大家可以对比上面的查询记录的图片,可以看到12月2日的这条记录没有了,而是12月3日的这条记录了,至此解决。

     

    三、总结

    所以,大家在使用sql函数的时候,一定要看看这个函数的API,这样才能将这个函数使用的融会贯通,比别人更加的掌握。

    所以这里考大家一个问题,oracle怎么查询本周、上周的记录呢?

     

     

    参考文章:

    https://blog.csdn.net/qq_21995733/article/details/78989074

    https://www.cnblogs.com/xgwtzg/p/6140022.html

    感谢原作者的分享,让技术人能够更快的解决问题

     


    2018年12月31日遇到了问题

    今天在用自己测试程序的时候,发现数据都查询不到了,于是赶紧进行排查。发现了一个很大的问题。

    什么问题呢,就是当这周是跨了年的时候,mysql用yearweek()会出问题,导致查询不到上周的数据。

    上面我也讲到了yearweek()函数的用法。

    yearweek(date, mode)会返回年份及第几周(0到53),mode 中 0 表示周天,1表示周一

    大家可以看到,在12月31号的时候,返回的是201901(表示2019年的第一周)

    原因就是本周跨年了,所以显示的是2019年的第一周。

     

    但是上文中讲到我去查询上周的时候,用的是YEARWEEK(now())-1

    可以看到变成的是201900,但是我要查询上周的数据,也就是12月24日-30日,

    yearweek()返回的值是201851,所以在使用

    #查询上周
    select A.sushenum,cast(A.dfdata as DECIMAL (10,3)) dfdatanumber,A.dfdata,
            cast(A.dfmoney as DECIMAL (10,3)) dfmoneynumber,A.dfmoney,DATE_FORMAT(A.lrrq,'%Y-%m-%d %H:%i:%S') lrrq
            from tablename_test A
            where YEARWEEK(date_format(A.lrrq,'%Y-%m-%d'),1) = YEARWEEK(now(),1)-1
            and A.sushenum = '1309
    

    YEARWEEK(date_format(A.lrrq,'%Y-%m-%d'),1) =YEARWEEK(now(),1)-1的时候,这两者左边是2018**,右边是2019**,是永远也不会相等的

    这就遇到很大的问题了,导致上周的数据显示没有。

    所以我暂时没有想到解决的办法,后续继续研究一下,先把问题放在这里,有哪位大神解决了的或者有解决思路或者方法的,可以在底部留言或者留下文章链接。我想到解决方法后会继续在本文补充。

    展开全文
  • 计算2000年1月1后的某一天是星期几。要求进行日期合法性判断,非法日期则函数返回0。合法日期则返回1-7中某个数值,表示星期一到星期天中某一天。
  • C语言源代码,任意年月,求该星期几,修正以前版本中的BUG。菜鸟学编程,希大家多多指教。
  • printf(“今天是星期日\n”); printf(“123456后是”); switch(123456%7) { case 0: printf(“星期日\n”); break; case 1: printf(“星期一\n”); break; case 2: printf(“星期二\n”); break; case 3...

    #include <stdio.h>
    int main()
    {
    printf(“今天是星期日\n”);
    printf(“123456天后是”);
    switch(123456%7)
    {
    case 0:
    printf(“星期日\n”);
    break;
    case 1:
    printf(“星期一\n”);
    break;
    case 2:
    printf(“星期二\n”);
    break;
    case 3:
    printf(“星期三\n”);
    break;
    case 4:
    printf(“星期四\n”);
    break;
    case 5:
    printf(“星期五\n”);
    break;
    case 6:
    printf(“星期六\n”);
    break;
    }
    }

    展开全文
  • 之前项目有个需求,需要设置每周抽奖奖品的数量,百度找了不少帖子,现在写出可用的一个实例(本人系统时间为2017-11-14 星期二): ...查询本周的周日星期日): select subdate(curdate(),date_fo...

     

    之前项目有个需求,需要设置每周抽奖奖品的数量,百度找了不少帖子,现在写出可用的一个实例(本人系统时间为2017-11-14 星期二):

    查询本周的周一(星期一):

    select subdate(curdate(),date_format(curdate(),'%w')-1)

    运行效果:

    查询本周的周日(星期日):

    select subdate(curdate(),date_format(curdate(),'%w')-7)

    运行效果:

    希望可以帮助到有需要的同学!

     

    展开全文
  • 问题:输入年月,输出那星期几? 回答:java代码实现的;主要是循环的利用,以及闰年与平年的判断。
  • 判断某一星期几的算法
  • js获取某一星期

    千次阅读 2018-10-29 11:00:14
    function oneDay(y,m,d){ var myDate=new Date(); myDate.setFullYear(y,m-1,d); var week = myDate.getDay() switch(week){ case 0: return '星期日'; case 1: ...
  • 1星期推算。(20分) 题目内容:假设今天是星期日,编写一个程序,求2019天后是星期几。 输出样例:星期*(星期一、星期二、星期三、星期四、星期五、星期六、星期日) 时间限制:500ms内存限制...printf(“星期天”...
  • C语言程序源代码,来判断输入的具体一星期几。以1900年1月1星期一)为计算游标。
  • switch (d)//选择星期 { case 1:printf("星期一"); break; case 2:printf("星期二"); break; case 3:printf("星期三"); break; case 4:printf("星期四"); break; case 5:printf("星期五"); .
  • 一、给定一个日期值,求出此日期所在星期的星期一和星期天的日期数据 例如给定一个日期 2010-09-01,求出它所在星期的星期一是2010-08-30,星期天是2010-09-05 Function创建如下: 代码如下: USE [MSSQL] GO SET ANSI...
  • 用户输入年月,计算那星期
  • 周日课程 塞拉尼所有星期天课程的代码
  • 以下是一些已知信息,但是或许你需要自己做一些其他的调查。 1900年1月1日是星期一。30的月份有:9月,4月,6月,11月。...20世纪(1901年1月1日到2000年12月31日)一共有多少个星期日落在了当月的第一
  • 函数接受三个整形参数,分别表示年、月、日,并返回一个整数标识星期几,用0,1-6分别表示星期日、星期一到星期6. #include<stdio.h> int get_weekday(int year,int month,int day){ int RUN_YEAR = 366; ...
  • Hive获取指定日期的星期一和星期天

    千次阅读 2020-05-09 17:13:11
    select DATE_SUB( '${hiveconf:belong_date}', PMOD(DATEDIFF('${hiveconf:belong_date}','2020-05-04'),7)); -- 星期一 ... -- 星期天 其实只要把‘2020-05-04’换成某个星期几,就可以获取相应的那一
  • function week($str){ if((date('w',strtotime($str))==6) || (date('w',strtotime($str)) == 0)){ echo '你输入的日期是周末'; }else{ echo '当然也不是周末了'; } }...
  • SQL 查看本周的星期一和星期天

    千次阅读 2009-12-01 17:55:00
    --SQL 查看本周的星期一和星期天/*系统的时间默认把星期天作为一个星期的第一天,但是我们中国习惯把星期一作为一个星期的第一天,因此如果当天是星期天时需要判断一下*/DECLARE @MondayTime varchar(10)DECLARE @...
  • 当给定年月,如何计算任意一星期几?
  • hive sql查找某天所在月的最后一个星期天,其余时间查找也可参考类似的思路    主要思路就是通过找到该天所在月的最后一天属于周几,然后往前推到本月的最后一个星期天;其中找到当月最后一天时通过下月第一天往...
  • 题目描述 Description 13号又是星期五是一个不寻常...星期日的次数.这个测试从1900年1月1日到 1900+n-1年12月31日.n是一个非负数且不大于400. 这里有一些你要知道的: 1900年1月1日是星期一. 4,6
  • 数字1-7转换成星期一到星期天

    千次阅读 2020-04-01 16:05:57
    数字1-7转换成星期一到星期天 代码如下: package studydemo; import java.util.Calendar; import java.util.HashMap; public class WeekDays { public static void main(String[] args) { Calendar now = ...
  • 一般我们要实现日期方面的需求,比如今天要讲的获取每周的星期一和星期天的日期。 新式如下 这样的情况,我们必须祭出Calendar类,它能够帮我们实现这些需求。 public class ExceptionTest { public static void...
  • 假设某年的1月1星期一,问:这一年中的第x,是星期几? 要求: 1)保证x的范围是1~365,否则输出错误信息 2)使用switch语句import java.util.*; class DateClass { public static void main(String ...
  • package For_the_training; ...//假设星期天是每周第一天,根据给定的年份和月份,输出一个日历 (已知1900-1-1是星期一) public class M2 { public static void main(String[] args) { int...
  • 主要介绍了Python简单计算给定某一年的某一星期几,涉及Python基于蔡勒公式的简单日期数值运算相关操作技巧,需要的朋友可以参考下
  • 我们用数字1到7对应星期一到星期日。给定某一,请你输出那的“后天”是星期几。 输入格式: 输入第一行给出一个正整数D(1 ≤ D ≤ 7),代表星期里的某一。 输出格式: 在一行中输出D的后天是星期几。 输入...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 157,926
精华内容 63,170
关键字:

周日是星期天吗