利用SQL找出一个月中有多少个周日

在北京的变色龙

在北京的变色龙

2016-02-19 19:17

今天图老师小编要向大家分享个利用SQL找出一个月中有多少个周日教程,过程简单易学,相信聪明的你一定能轻松get!

  问:我想利用SQL找出在任意一月中的周日的数量。请帮帮我。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  答:以下是一个简单的技巧:

  确定一个具体的月份,确定这个月的第一天

  使用INTEGERS表生成一系列这个月第一天之后的日期覆盖这个月所有的日期

  用日期函数确定这一生成日期是否就是周日

  用count()获取周日的测试结果

  为了创建integers表,用到下列命令:

createtableintegers 
  (iintegernotnullprimarykey);
insertintointegers(i)values(0);
insertintointegers(i)values(1);
insertintointegers(i)values(2);
insertintointegers(i)values(3);
insertintointegers(i)values(4);
insertintointegers(i)values(5);
insertintointegers(i)values(6);
insertintointegers(i)values(7);
insertintointegers(i)values(8);
insertintointegers(i)values(9);

  现在我们假设你要测试的是2006年9月份,所以你确定的日期就是2006-09-01,然后用下面的查询生成这个月所有的日期。注意:每个数据库系统都会有不同的日期函数,所以一定要知道怎么使用你的数据库系统。这个例子就用到了MySQL语法。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

set@day1=’2006-09-01’; 
        
selectdate_add(@day1 
     ,interval10*tens.i+units.iday) 
           asadate 
 fromintegersastens
cross
 joinintegersasunits
wheredate_add(@day1 
     ,interval10*tens.i+units.iday)
  date_add(@day1 
     ,interval1month)
order
  byadate 

  你会发现这里有一个ORDER BY子句,所以你可以充分相信该查询正确生成了这个月所有的日期。现在只需要将函数相加确定一个周六,并且计算的日期。现在只需要将函数相加确定一个周六,并进行计算:

set@day1=’2006-09-01’;     
           
selectcount(
    casewhendayofweek(
     date_add(@day1 
     ,interval10*tens.i+units.iday)
             )=1
      then1elsenullend) assundays 
 fromintegersastens
cross
 joinintegersasunits
wheredate_add(@day1 
     ,interval10*tens.i+units.iday)
  date_add(@day1 
     ,interval1month) 
Result:
sundays
  4

  非常简单,不是吗?

展开更多 50%)
分享

猜你喜欢

利用SQL找出一个月中有多少个周日

编程语言 网络编程
利用SQL找出一个月中有多少个周日

一个月中哪天“孕气”最好

孕前
一个月中哪天“孕气”最好

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

一个月中哪天最容易受孕

电脑网络
一个月中哪天最容易受孕

如何知道一个工作簿中有多少个工作表?

电脑入门
如何知道一个工作簿中有多少个工作表?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

一个月的宝宝吃多少

电脑网络
一个月的宝宝吃多少

一个月的宝宝吃奶量是多少 一个月的宝宝能吃多少

喝奶量 母乳喂养 新生儿
一个月的宝宝吃奶量是多少 一个月的宝宝能吃多少

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

对C++程序设计中函数重载的探讨

对C++程序设计中函数重载的探讨

如何解决一直显示正在关机?

如何解决一直显示正在关机?
下拉加载更多内容 ↓