目录

源数据表

解决方案

DATESERIAL函数的使用

判断平年或闰年的语句


源数据表

关于闰年,有如下说法:四年一闰,百年不闰。四百年再闰,千年不闰。四千年再闰.万年不闰。五十万年再闰。文字太多,很不容易记忆。用SQL方便地查询今年是平年还是闰年。

解决方案

SELECT IIF(DAY(DATESERIAL(YEAR(DATE()),3,1)-1)=29,'闰年','平年') AS 平年还是闰年

DATESERIAL函数的使用

平年与闰年的区别在于如下两点:
    1.平年中的二月份是28天;闰年中的二月份是29天。
    2.平年的总天数是365天;闰年的总天数是366天。
    本例通过判断今年二月份的天数返回今年是平年或闰年,分步解析如下:
    YEAR(DATE()),返回今天所在年的年份序列值。
    DATESERIAL(YEAR(DATE()),3,1),得到今年3月1日的日期值。
    DATESERIAL(YEAR(DATE()),3,1)-1,得到今年3月1日前一天的日期值。如果是平年,则是2月28日,如果是闰年,则是2月29日。
    DAY(DATESERIAL(YEAR(DATE()),3,1)-1),得到今年3月1日前一天的天数。如果是平年则返回28,如果是闰年则返回29。
   IIF(DAY(DATESERIAL(YEAR(DATE()),3,1)-1)=29,'闰年','平年'),对DAY函数的返回结果执行判断,如果DAY函数的结果为29,则返回“闰年”,否则返回“平年”。
    DATESERIAL函数返回指定年、月、日的日期型数据,其语法如下:

DATESERIAL(year,month,day)

其中,参数year为整型,其取值范围为-100~99、1900~9999之间.当参数year取值为100~1899时,单元格显示长串“######”,鼠标单击对应的单元格显示“将为负值或太大的日
期和时间显示为######”。参数month及参数day均为整型,可以为任意表达式。
    当参数year的数值为两位数字时,其返回值由“自定义格式”对话框中“日期”选项卡的设置决定。

默认设置是0~29(含)之间的值返回为2000~2029年,30~.99之间的值返回为1930~1999年。当“日期”选项卡中的日历设置为1940和2039,则数值39将返回为2039年,40将返回为1940年。
    当参数year、month、day为小数时,各参数按照四舍六入五单双的规则进位后参与运算。

判断平年或闰年的语句

语句1:
SELECT IIF(DATEPART('y',YEAR(DATE()) & '-3-1')=61,'闰年','平年') AS 平年还是闰年语句2:
SELECT IIF(DATEPART('y','3-1')=61,'闰年','平年') AS 平年还是闰年语句3:
SELECT IIF(CDATE('3-1')-CDATE('1-1')+1=61,'闰年','平年') AS 平年还是闰年语句4:
SELECT IIF(DAY(DATEADD('m',1,'1-31'))=29,'闰年','平年') AS 平年还是闰年

Excel 2010 SQL应用071 SQL判断平年闰年相关推荐

  1. Java判断平年闰年

    定义:输入的年份(必须大于1990年)除以4等于0而且除以100不等于0,或者除以400等于0就是闰年,反之平年. - 非整百年份除以4,整百年份除以400,如果不能被整除的是平年,可以被整除的就是闰 ...

  2. 判断平年闰年的JAVA代码

    所谓闰年,就是指 2 月有 29 天的那一年.闰年同时满足以下条件: 1.年份能被 4 整除. 2.年份若是 100 的整数倍,须被 400 整除,否则是平年. 例如,1900 年能被 4 整除,但是 ...

  3. python判断平年闰年的方法_平年和闰年的三种判断方法

    平年和闰年的三种判断方法: ①.普通年能被4整除且不能被100整除的为闰年.否则为平年.(如2004年就是闰年,1900年不是闰年) ②.世纪年能被400整除的是闰年.否则为平年.(如2000年是闰年 ...

  4. python判断平年闰年的函数_平年与闰年的判断方法!

    如何判断这一年是平年还是闰年呢? 方法:看这一年的年份是不是4的倍数.如果年份是4的倍数,那么这一年就是闰年.如我的出生年份是1976年,1976/4=494,是4的倍数,那么1976年就是闰年,2月 ...

  5. C语言 判断平年闰年判断

    /** *@brief 判断某一年是闰年还是平年 *@param nYear 年份,例如:2019 *@return *@li 1 闰年 @li 0 平年 / int FuncLeapYearChk( ...

  6. 利用函数(求数组最大值、判断平年闰年、翻转数组、判断是否为素数)

    函数案例 1.利用函数求求两个数的最大值 //利用函数 求两个数的最大值function getMax(num1,num2){//if(num1 > num2){// return num1;/ ...

  7. python判断平年闰年

    方法一:根据逻辑判断 year = int(input("请输入一个年份:")) if year%4==0 and year%400==0:print('闰年') elif yea ...

  8. js判断平年闰年_用JS实现判断闰年

    展开全部 || function isLeapYear(year) //闰年能被4整除且不能被100整除,或能被400整除.32313133353236313431303231363533e78988 ...

  9. 平年闰年——C++青少年一级考资料

    题目: 判断平年闰年 #include <bits/stdc++.h> using namespace std; int main() {int n;cin >> n;if ( ...

最新文章

  1. Docker容器指定使用那几个CPU、memory资源限制
  2. 老李秘技:loadrunner11是否还支持dblib协议?
  3. 三星电子电容器件识别
  4. reactjs redux chrome扩展插件
  5. Android Studio快捷键快速入门
  6. 百度地图JavaScript API覆盖物旋转时出现偏移
  7. 自己动手写一个 strace
  8. c语言求数组中绝对值最小值,(C语言)简单的绝对值排序
  9. 接口测试怎么进行,如何做好接口测试
  10. svn外网虚拟服务器设置,svn虚拟服务器设置路由器设置
  11. rocketmq linux环境下载地址,Linux下RocketMQ下载安装教程
  12. 详细解读用C语言编写的 “扫雷”程序
  13. 2021最新抖音H5电玩城游戏平台多玩法模式全套源码
  14. vue项目保存页面为pdf 、word
  15. MacOS 64位GaussView5的破解
  16. ping命令结果中如何显示时间
  17. 微信小程序消息推送通知模板id生成获取
  18. PS教程:紫色光晕效果实现
  19. PHP 编辑器 kindEditor 上传图片失败 解决方案
  20. 微星RTX 4090和RTX 4080 SUPRIM参数对比评测

热门文章

  1. 自定义starter的常规组成分析
  2. jq点击事件第二次点击会出现两次点击 依次累积
  3. XZ_Python之使用关键词抓取京东搜索页面数据
  4. 服务器CPU占用高问题处理记录
  5. 有向图的必经点,支配树
  6. 211考985计算机调剂,本科211院校,考研985失败,调剂到211院校,有必要吗?
  7. 【工控老马】详解OPC协议-工业控制和自动化领域的接口标准
  8. python爬虫时如何知道是否代理ip伪装成功
  9. vue实现根据链接生成带logo二维码,并下载
  10. 机器学习-决策树之回归树python实战(预测泰坦尼克号幸存情况)(三)