MSSQL 生成日期列表代码

代码如下:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_getdate]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_getdate]
GO
create function [dbo].[f_getdate]
(
@year int, --要查询的年份
@bz bit --@bz=0 查询工作日,@bz=1 查询休息日,@bz IS NULL 查询全部日期
)
RETURNS @re TABLE(Date datetime,Weekday nvarchar(3))
as
begin
DECLARE @tb TABLE(ID int ,Date datetime)
insert @tb select number,
dateadd(day,number,DATEADD(Year,@YEAR-1900,'1900-1-1'))
from master..spt_values where type='P' and number between 0 and 366
DELETE FROM @tb WHERE Date>DATEADD(Year,@YEAR-1900,'1900-12-31')
IF @bz=0
INSERT INTO @re(Date,Weekday)
SELECT Date,DATENAME(Weekday,Date)
FROM @tb
WHERE (DATEPART(Weekday,Date)+@@DATEFIRST-1)%7 BETWEEN 1 AND 5
ELSE IF @bz=1
INSERT INTO @re(Date,Weekday)
SELECT Date,DATENAME(Weekday,Date)
FROM @tb
WHERE (DATEPART(Weekday,Date)+@@DATEFIRST-1)%7 IN (0,6)
ELSE
INSERT INTO @re(Date,Weekday)
SELECT Date,DATENAME(Weekday,Date)
FROM @tb

RETURN
end
go
select * from dbo.[f_getdate]('2009',0)

(0)

相关推荐

  • MSSQL 生成日期列表代码

    复制代码 代码如下: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_getdate]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[f_getdate] GO create function [dbo].[f_getdate] ( @year int, --要查询的年份 @bz bit --@bz=0 查询工作日,@bz=1 查

  • Mysql查询时间区间日期列表实例代码

    目录 1.查询时间区间日期列表,不会由于数据表数据影响 2.创建视图可以公共使用 3.创建为视图之后,可以通过视图查询时间区间列表日期 4.查询时间区间按月 附:在对mysql的时间进行区间查询的时候出现的问题 总结 1.查询时间区间日期列表,不会由于数据表数据影响 select a.date from ( select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a) ) DAY as date from (

  • Python生成数字图片代码分享

    本文向大家分享了几段Python生成数字图片的代码,喜欢的朋友可以参考.具体如下: 最终版本 # -*- coding:utf-8 -*- from PIL import Image,ImageFont,ImageDraw,ImageFilter import random import os import time class Code(object): def __init__(self, imgSize=(35,35),\ fontSize=25, bgColor=(255,)*4, fo

  • 使用批处理文件生成文件列表清单

    使用批处理文件生成文件列表清单,友友们都会遇到这样的情况:想要复制一个文件夹下所有文件的名字,或者将所有文件的名字列出一个清单,用手工复制的话吃力不讨好还容易出差错.小编今天在这里分享一个简单的小方法,自制bat批处理命令自动生成文件清单方便一次性复制. 方法: 先进入文件目录下,建立一个.txt格式的纯文档文件. 在这个文本文档中复制下列命令,并且保存. 复制代码 代码如下: @echo off dir /b /on >list.txt 将这个文本文档的后缀名从.txt修改为.bat 双击执行

  • php从数据库查询结果生成树形列表的方法

    本文实例讲述了php从数据库查询结果生成树形列表的方法.分享给大家供大家参考.具体分析如下: 本代码可以从数据库读取数据生成一个类似于windows的资源管理器的树形列表 <?php /* Here are the database definitions (for Solid) that i use in this code. * It should not be hard to adapt it to another database. */ /* CREATE TABLE dirent_t

  • Linux下控制(统计)文件的生成的C代码实现

    本文分享了Linux下控制(统计)文件的生成的C代码实现案例,供大家参考,具体内容如下 一.需求描述 不定时地在Linux机器下的某目录中放入文件,文件内容中包含了用户号码.起止时间等字段,现要求编写一程序来统计目前该目录中所有文件中的记录总条数及所有记录中的最早起始时间和最晚结束时间. 例如,该目录中有两个文件Test_1.txt和Test_2.txt,其中Test_1.txt文件内容为: 15696192591|15696192592|20151103 120909|20151103 201

  • ASP.NET和MSSQL高性能分页实例代码

    首先是存储过程,只取出我需要的那段数据,如果页数超过数据总数,自动返回最后一页的纪录: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Clear -- Description: 高性能分页 -- http://www.cnblogs.com/roucheng/ -- =================================

  • python3使用scrapy生成csv文件代码示例

    去腾讯招聘网的信息,这个小项目有人做过,本着一个新手学习的目的,所以自己也来做着玩玩,大家可以参考一下. 这里使用的是调用cmdline命令来生成csv文件,而不是importcsv模块. from scrapy import cmdline cmdline.execute("scrapy crawl field -o info.csv -t csv".split()) 这段代码我保存在一个自建的.py文件中,然后在主文件中调用这个模块,这样就不用每次在cmd中敲命令了,大家可以使用这

  • python pandas生成时间列表

    python生成一个日期列表 首先导入pandas import pandas as pd def get_date_list(begin_date,end_date): date_list = [x.strftime('%Y-%m-%d') for x in list(pd.date_range(start=begin_date, end=end_date))] return date_list ### 可以测试 print(get_date_list('2018-06-01','2018-0

  • Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析

    本文实例讲述了Oracle实现查询2个日期所跨过的月份列表/日期列表的方法.分享给大家供大家参考,具体如下: 1.基本逻辑公式: Select Rownum, 开始日期+Rownum-1 from dual connect by rownum< 结束日期-开始日期 +2; 2.查询2个日期所跨过的日期yyyy-mm-dd列表: 查询结果: SQL代码(开始时间:2019-01-22,结束时间:2019-01-02): Select Rownum, to_date('2019-01-02', 'y

随机推荐