仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 942|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL教程之关于日期天数盘算的几个函数!

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:33:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定函数关于日期天数盘算的几个函数!
明天早上俄然要用到一个盘算某月有几天的函数,翻了半天没找到体系自带着中函数,因而下手写了一个,以下:

**前往某个月有几天FUNCTIONHowMonthDay()PARAMETERScDateLOCALDaysasInteger,YearsasIntegerIF!TYPE("cDate")=="D"MESSAGEBOX("参数范例不准确,应当为日期型","体系提醒!")RETURNENDIFDays=IIF(INLIST(MONTH(cDate),1,3,5,7,8,10,12),31,30)**闰年盘算办法Years=YEAR(cDate)IFMONTH(cDate)==2Days=IIF(Years%400==0OR(Years%4==0ANDYears%1000),29,28)ENDIFRETURNDaysENDFUNC

厥后郑宇年老给我供应了一个前往月尾的函数。以下:
PROCEDUREEDOM*FUNCTION:前往本月月尾*M.L.Y1998.8.8PARAMETERSDATE_TODAYPRIVATEALLSETDATETOANSISETCENTURYONIFMONTH(DATE_TODAY)<12RETURNCTOD(STR(YEAR(DATE_TODAY),4,0)+".";+STR(MONTH(DATE_TODAY)+1,2,0)+".01")-1ELSERETURNEDOY(DATE_TODAY)ENDIF
思考了半天发明前往月尾大概还要复杂一点,我改善了一下:

cDate=Date()

??cDate+(32-DAY(cDate))-DAY(cDate+(32-DAY(cDate)))

最初用这个思绪改善了一下前往某月有几天的函数,以下:

FUNCTIONHowMonthDay()PARAMETERScDateLOCALDaysasIntegerIF!TYPE("cDate")=="D"MESSAGEBOX("参数范例不准确,应当为日期型","体系提醒!")RETURNENDIFDays=DAY(cDate+(32-DAY(cDate))-DAY(cDate+(32-DAY(cDate))))RETURNDaysENDFUNC

实在最主要的只要一句:Days=DAY(cDate+(32-DAY(cDate))-DAY(cDate+(32-DAY(cDate))))也不必管闰年闰年了,费事。

如果前往月尾,那这句改成:cDate+(32-DAY(cDate))-DAY(cDate+(32-DAY(cDate)))便可

道理就是依据增添值来盘算当月的下一个月超越几天,然后减往几天就是当月的最初一天了。
支持多种存储引擎。
若相依 该用户已被删除
沙发
发表于 2015-1-19 16:25:18 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
兰色精灵 该用户已被删除
板凳
发表于 2015-1-28 08:28:09 来自手机 | 只看该作者
需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。
活着的死人 该用户已被删除
地板
发表于 2015-2-5 20:10:31 | 只看该作者
我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
若天明 该用户已被删除
5#
发表于 2015-2-13 11:39:17 | 只看该作者
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
因胸联盟 该用户已被删除
6#
发表于 2015-3-3 20:50:25 | 只看该作者
我个人认为就是孜孜不懈的学习
变相怪杰 该用户已被删除
7#
发表于 2015-3-11 13:39:26 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-18 16:36:56 | 只看该作者
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
再见西城 该用户已被删除
9#
发表于 2015-3-26 04:28:52 | 只看该作者
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 21:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表