SqlServer获取输入日期范围内每一天日期。

本文展示了如何在SQL中创建一个名为`GetDateRange`的自定义函数,该函数接受开始和结束日期作为参数,并返回这两个日期范围内每一天的日期。这个函数可以用于各种日期相关的数据分析任务,例如数据筛选或报告生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建自定义函数


1、示例👇

在这里插入图片描述

2、代码如下

复制粘贴就可以了,注意更改引用的数据库名称

USE [数据库名称]
GO
/****** Object:  UserDefinedFunction [dbo].[GetDateRange]    Script Date: 2022/8/24 15:08:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

/*=========================================================
创建人:***
描  述:获取输入日期范围内每一天日期。
测  试:SELECT * FROM [dbo].[GetDateRange]('2022-08-10','2022-08-20')
=========================================================*/
CREATE FUNCTION [dbo].[GetDateRange]
(
    @BeginDate DATETIME,
    @EndDate DATETIME
)
RETURNS @array TABLE
(
    DateItem DATE
)
AS
BEGIN
    INSERT @array
    (
        DateItem
    )
    SELECT CONVERT(DATE,DATEADD(DAY, number, @BeginDate),24)
    FROM master..spt_values
    WHERE type = 'P'
          AND number
          BETWEEN 0 AND DATEDIFF(DAY, @BeginDate, @EndDate);
    RETURN;
END;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

com-ljf

创作不易,多多鼓励^^

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值