Excel 2010 SQL应用071 SQL判断平年闰年
目录
源数据表
解决方案
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判断平年闰年相关推荐
- Java判断平年闰年
定义:输入的年份(必须大于1990年)除以4等于0而且除以100不等于0,或者除以400等于0就是闰年,反之平年. - 非整百年份除以4,整百年份除以400,如果不能被整除的是平年,可以被整除的就是闰 ...
- 判断平年闰年的JAVA代码
所谓闰年,就是指 2 月有 29 天的那一年.闰年同时满足以下条件: 1.年份能被 4 整除. 2.年份若是 100 的整数倍,须被 400 整除,否则是平年. 例如,1900 年能被 4 整除,但是 ...
- python判断平年闰年的方法_平年和闰年的三种判断方法
平年和闰年的三种判断方法: ①.普通年能被4整除且不能被100整除的为闰年.否则为平年.(如2004年就是闰年,1900年不是闰年) ②.世纪年能被400整除的是闰年.否则为平年.(如2000年是闰年 ...
- python判断平年闰年的函数_平年与闰年的判断方法!
如何判断这一年是平年还是闰年呢? 方法:看这一年的年份是不是4的倍数.如果年份是4的倍数,那么这一年就是闰年.如我的出生年份是1976年,1976/4=494,是4的倍数,那么1976年就是闰年,2月 ...
- C语言 判断平年闰年判断
/** *@brief 判断某一年是闰年还是平年 *@param nYear 年份,例如:2019 *@return *@li 1 闰年 @li 0 平年 / int FuncLeapYearChk( ...
- 利用函数(求数组最大值、判断平年闰年、翻转数组、判断是否为素数)
函数案例 1.利用函数求求两个数的最大值 //利用函数 求两个数的最大值function getMax(num1,num2){//if(num1 > num2){// return num1;/ ...
- python判断平年闰年
方法一:根据逻辑判断 year = int(input("请输入一个年份:")) if year%4==0 and year%400==0:print('闰年') elif yea ...
- js判断平年闰年_用JS实现判断闰年
展开全部 || function isLeapYear(year) //闰年能被4整除且不能被100整除,或能被400整除.32313133353236313431303231363533e78988 ...
- 平年闰年——C++青少年一级考资料
题目: 判断平年闰年 #include <bits/stdc++.h> using namespace std; int main() {int n;cin >> n;if ( ...
最新文章
- Docker容器指定使用那几个CPU、memory资源限制
- 老李秘技:loadrunner11是否还支持dblib协议?
- 三星电子电容器件识别
- reactjs redux chrome扩展插件
- Android Studio快捷键快速入门
- 百度地图JavaScript API覆盖物旋转时出现偏移
- 自己动手写一个 strace
- c语言求数组中绝对值最小值,(C语言)简单的绝对值排序
- 接口测试怎么进行,如何做好接口测试
- svn外网虚拟服务器设置,svn虚拟服务器设置路由器设置
- rocketmq linux环境下载地址,Linux下RocketMQ下载安装教程
- 详细解读用C语言编写的 “扫雷”程序
- 2021最新抖音H5电玩城游戏平台多玩法模式全套源码
- vue项目保存页面为pdf 、word
- MacOS 64位GaussView5的破解
- ping命令结果中如何显示时间
- 微信小程序消息推送通知模板id生成获取
- PS教程:紫色光晕效果实现
- PHP 编辑器 kindEditor 上传图片失败 解决方案
- 微星RTX 4090和RTX 4080 SUPRIM参数对比评测