SqlServer取得一个月的所有有日期
SqlServer的自定义函数可以分为三类但我只用过上面两类,可以称作标量函数和表值函数,区别只是返回数据的类型,表值函数返回的是一个虚拟表
SqlServer的函数在这里

因某种需求我写了一个这样的函数:输入时开始日期和结束日期,输出是一个表,从开日期到结束日期内的所有日期
比如我输入时20140701,20140708,输出是这样的

代码如下,欢迎指正
CEATE FUNCTION [dbo].[fn_GetDays](@startdate DATE,@enddate DATE) RETURNS TABLE
AS
RETURN(
SELECT DATEADD(day,number,@startdate) AS days
FROM master..spt_values WHERE TYPE = 'P' AND DATEADD(DAY,number,@startdate) <= @enddate
)
代码解释:
如下语句是从SqlServerMaster表中取得连续的数值,如下代码能取到1~2047的连续数值
SELECT number FROM master..spt_values WHERE TYPE = 'P'
这句是SqlServer系统函数,不多说
DATEADD(DAY,number,@startdate)
下面是 另一个函数逻辑和上面的很类似,作用是取十分钟位单位的时间
CREATE FUNCTION [dbo].[fn_GetTenMis](@startDatetime DATETIME,@endtDateime DATETIME) RETURNS TABLE
AS
RETURN(
select DATEADD(MI,number*10,@startDatetime) AS TenMis
from master..spt_values where type = 'P' and DATEADD(MI,number*10,@startDatetime) <= @endtDateime
)
SqlServer取得一个月的所有有日期的更多相关文章
- sqlserver 获取一个月有多少天
		
--思路:给定日期的下一个月的1号减去1天,然后取datepart(DAY,dt) declare @dt varchar(10)select @dt='2013-11-20'select datep ...
 - Date——js 获取当前日期到之后一个月30天的日期区间
		
var dateList = []; let startDate = new Date(); let endDate = new Date(); endDate.setDate(startDate.g ...
 - Python 获得最近一个月的每天的日期
		
直接上代码: #coding:utf-8 # from common.contest import * import datetime import time begin_date = (dateti ...
 - 【转】SQL SERVER 2005中如何获取日期(一个月的最后一日、上个月第一天、最后一天、一年的第一日等等)
		
在网上找到的一篇文章,相当不错哦O(∩_∩)O~ //C#本周第一天 int dayOfWeek = Convert.ToInt32(DateTime.Now.DayOfWeek ...
 - C# 时间计算  今天、昨天、前天、明天 一个月的开始日期与结束日期
		
C# 时间计算 今天.昨天.前天.明天 class Program { static void Main(string[] args) { ...
 - SQL查询一个月第一天/最后一天及日期格式化
		
1.一个月第一天的Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一Select DATEADD(wk, DATEDIFF(wk,0,ge ...
 - js获取上一个月、下一个月格式为yyyy-mm-dd的日期
		
/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date. ...
 - DateTime.IsLeapYear 方法判断是否是闰年,DaysInMonth判断一个月有几天,Addday取得前一天的日期GetYesterDay
		
一:DateTime.IsLeapYear 方法判断是否是闰年 二:代码 using System; using System.Collections.Generic; using System.Co ...
 - SQL SERVER 2005中如何获取日期(一个月的最后一日、上个月第一天、最后一天、一年的第一日等等)
		
原文:[转]SQL SERVER 2005中如何获取日期(一个月的最后一日.上个月第一天.最后一天.一年的第一日等等) 在网上找到的一篇文章,相当不错哦O(∩_∩)O~ //C#本周第一天 ...
 
随机推荐
- Find them, Catch them(POJ 1703 关系并查集)
			
Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 38668 Accepted: ...
 - HDU 4970 Killing Monsters
			
开始以为是线段树,算了一下复杂度也觉得能过...但是这题貌似卡了线段树... 具体做法: 对每一个塔,记录attack[l]+=d,attack[r+1]-=d;这样对于每个block,受到的伤害就是 ...
 - javascript加载优化
			
当加载js时,页面会一直在转,没有加载完. 如何优化这一点呢 js的加载方式介绍 同步加载---------------异步加载------------------延迟加载 异步加载仍然会触发wind ...
 - Linux性能统计工具
			
Linux下的一些I/O统计工具 http://blog.csdn.net/longxibendi/article/details/36004155
 - OpenSSL “心脏滴血”漏洞
			
OpenSSL "心脏滴血"漏洞 漏洞描述 : OpenSSL软件存在"心脏出血"漏洞,该漏洞使攻击者能够从内存中读取多达64 KB的数据,造成信息泄露. 漏洞 ...
 - 【转】android 电容屏(一):电容屏基本原理篇
			
关键词:android 电容屏 tp ITO 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung exynos 42 ...
 - c#将输入的人民币数字金额转换成小写
			
//// <summary> /// 人民币大小写金额转换 /// </summary> class RMBCapitalization { private const str ...
 - Js数组的操作push,pop,shift,unshift等方法详细介绍
			
js中针对数组操作的方法还是比较多的,今天突然想到来总结一下,也算是温故而知新吧.不过不会针对每个方法进行讲解,我只是选择其中的一些来讲. 首 先来讲一下push和pop方法,这两个方法只会对数组从尾 ...
 - [转]Traceroute网络排障实用指南(2)
			
五.优先级与限速 5.1 Traceroute延时判断影响因素 Traceroute延时包括三点: 探测包到达一个特定路由器的时间 路由器生成IPMI TTL Exceed的时间 ICMP TTL E ...
 - 水池数目(DFS)
			
水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...