分解日期之间的日期,检查和调整参数

2023-12-15

我使用了一个函数使用函数获取两个日期之间的日期列表效果非常好。

但是,我需要对通过的结束日期进行额外检查。有时此日期将为空,因为如果记录仍然是最新的,则不会输入该记录。如果是,我想用当前日期替换它,以便返回从开始日期到当前日期的日期。

我想输入的代码是这样的,但是无论我尝试输入它,都会出现语法错误。

 IF @endddate IS NULL
     SET @enddate = getdate()

这是现在的代码

 CREATE FUNCTION [dbo].[ExplodeDates](@startdate datetime, @enddate datetime) 
 returns table as 
 return ( 
 with  
 N0 as (SELECT 1 as n UNION ALL SELECT 1) 
,N1 as (SELECT 1 as n FROM N0 t1, N0 t2) 
,N2 as (SELECT 1 as n FROM N1 t1, N1 t2) 
,N3 as (SELECT 1 as n FROM N2 t1, N2 t2) 
,N4 as (SELECT 1 as n FROM N3 t1, N3 t2) 
,N5 as (SELECT 1 as n FROM N4 t1, N4 t2) 
,N6 as (SELECT 1 as n FROM N5 t1, N5 t2) 
,nums as (SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) as num FROM N6) 
SELECT DATEADD(day,num-1,@startdate) as thedate 
FROM nums 
WHERE num <= DATEDIFF(day,@startdate,@enddate) + 1 
 );

任何帮助将不胜感激。


您还需要添加1个CTE来过滤@enddate value.

尝试这个 : -

CREATE FUNCTION dbo.ExplodeDates(@startdate datetime, @enddate datetime)
returns table as
return (
with 
 N0 as (SELECT 1 as n UNION ALL SELECT 1)
,N1 as (SELECT 1 as n FROM N0 t1, N0 t2)
,N2 as (SELECT 1 as n FROM N1 t1, N1 t2)
,N3 as (SELECT 1 as n FROM N2 t1, N2 t2)
,N4 as (SELECT 1 as n FROM N3 t1, N3 t2)
,N5 as (SELECT 1 as n FROM N4 t1, N4 t2)
,N6 as (SELECT 1 as n FROM N5 t1, N5 t2)
,nums as (SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) as num FROM N6)
,checkDate as (select case when
                          @enddate is null then getdate() 
                          else @enddate
                      end as  dt)
SELECT DATEADD(day,num-1,@startdate) as thedate
FROM nums
WHERE num <= DATEDIFF(day,@startdate,(Select dt from checkDate)) + 1
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分解日期之间的日期,检查和调整参数 的相关文章

  • PDO dblib 未捕获警告

    我已经使用 realestateconz mssql bundle 和免费 TDS 成功使我的 symfony 应用程序连接到 MSSQL 数据库 我的问题是 当我尝试执行存储过程时 如果出现问题 该过程会引发异常 但 PDO 不会报告任何
  • 如何将 LEFT JOIN 限制为 SQL Server 中的第一个结果?

    我有一些 SQL 几乎可以做我想做的事情 我正在使用三个表 Users UserPhoneNumbers 和 UserPhoneNumberTypes 我正在尝试获取用户列表及其电话号码以供导出 数据库本身很旧并且存在一些完整性问题 我的问
  • 如果不存在则插入数据(来自 2 个表),否则更新

    再会 我有3张桌子 tbl仓库产品 ProductID ProductName ProductCode Quantity tbl分公司产品 ProductID ProductCode ProductCode Quantity Locatio
  • SQL Server 表中最多可以有多少行

    通常我们可以给出更多的值 在SQL Server中一个表最多可以有多少行 之后我们就无法添加新行了 有一些边缘情况 除了明显的磁盘空间问题之外 SQL Server 会阻止您添加更多行 而不是确切的行数 但值得一提 你有一个IDENTITY
  • 当没有文件可供下载时,如何避免 SSIS FTP 任务失败?

    我正在使用 SQL Server 2005 并在 SSIS 中创建 ftp 任务 有时会有文件需要通过 ftp 传输 有时则不会 如果没有文件 我不希望任务或包失败 我已将从 ftp 任务到下一个任务的箭头更改为 完成 以便包运行 我已将允
  • 获取下一个ID而不插入行

    在 SQL SQL Server 中是否可以在插入行之前从表中的标识列检索下一个 ID 整数 而无需实际插入行 如果删除了最近的行 则这不一定是最高 ID 加 1 我问这个问题是因为我们偶尔需要用新行更新实时数据库 行的 ID 在我们的代码
  • 无法更新 .mdf 数据库,因为该数据库是只读的(Windows 应用程序)

    我使用 C 创建了一个数据库 Windows 应用程序 我的应用程序在 Windows XP 上成功运行 但在 Vista 或 Windows 7 系统上无法正确执行 我的应用程序显示类似以下内容的消息 无法更新 mdf 数据库 因为该数据
  • SQL:将一个表中的所有记录插入到另一表中,而不指定列

    我想将备份表 foo bk 中的所有记录插入到 foot 表中 而不指定特定的列 如果我尝试这个查询 INSERT INTO foo SELECT FROM foo bk 我会收到错误 插入错误 列名称或提供的值的数量与表定义不匹配 是否可
  • 扁平化/反规范化 SQL 查找表的最佳方法?

    我有很多这样的表 Lookup HealthCheckupRisks ID Name 1 Anemia 2 Anorexic 3 Bulemic 4 Depression 122 Syphilis PatientRisksOnCheckup
  • SQL中如何合并多个表的数据

    我想我的处境很复杂 这是场景 我在 SQL Server 中有 3 个表 注册 学生 课程 仅供参考 没有外键 表的列是 Student 学生号 学生名 Course 课程 ID 课程名称 注册 注册 ID 学生 ID 课程 ID 课程结果
  • 如何识别 SQL Azure 中的死锁?

    我有一个由两个实例组成的 Windows Azure 角色 有时交易会失败并显示SqlException与以下文字 事务 进程 ID N 在锁资源上与另一个进程发生死锁 并被选为死锁牺牲品 重新运行事务 现在我已经谷歌搜索了一段时间并阅读这
  • 尝试将 Asp.Net Memebership 数据库部署到 SQL Azure

    我一直在尝试让 ASP net 会员服务提供商与托管在 SQL Azure 中的其余数据库配合使用 我已针对数据库运行适当的 SQL Azure 特定脚本来进行设置 这些脚本可从 Microsoft 获取 http archive msdn
  • SQL Server:触发器如何读取插入、更新、删除的值

    我在一张表中有触发器并且想阅读UserId插入 更新或删除行时的值 怎么做 下面的代码不起作用 我收到错误UPDATED ALTER TRIGGER dbo UpdateUserCreditsLeft ON dbo Order AFTER
  • 如何在sql server中对行号进行内连接

    SQL Server 2008 两张表 表A有以下数据 RowA RowB RowC RowD 表B有以下数据 Row4 Row3 Row2 Row1 我想得到以下输出 RowA Row1 RowB Row2 RowC Row3 RowD
  • asp.net网格分页的SQL查询

    我在用iBatis and SQLServer 使用偏移量和限制进行分页查询的最佳方法是什么 也许我添加该列ROW NUMBER OVER ORDER BY Id AS RowNum 但这只会阻止简单查询的数据访问 在某些情况下 我使用选择
  • 复制数据库的最佳方法是什么?

    当我想要复制数据库时 我总是创建一个新的空数据库 然后将现有数据库的备份恢复到其中 然而 我想知道这是否真的是最不容易出错 最不复杂且最有效的方法 可以跳过创建空数据库的步骤 您可以在恢复过程中创建新数据库 这实际上是我所知道的克隆数据库最
  • 从 SQL Server 读取十进制值时出现溢出异常

    我想知道这是一个错误还是我做错了什么 我正在加载值SqlDataReader来自 SQL Server 2008 数据库 但在某些情况下 它无法将 SQL 值转换为 net 值 NET 4 0 我已将其追溯到一个测试用例 它演示了实际问题
  • SQL Server lat;lng varchar 分割过程用作 Lat 和 Lng 以提高搜索速度

    有人可以帮助我使用存储过程或函数来传递我的存储varchar表中的 lat lng 到各个字段作为浮点数作为 Lat 和 Lng 以在半径搜索中使用 lanlng in Table 33 0000 15 222222 Thanks 你只是想
  • 如何在不使用实体框架的情况下从.Net Core连接到SQL Server?

    我们如何从 Net Core连接到SQL Serverwithout使用实体框架 你可以简单地使用传统的方式SqlConnection 这是一个例子 public class BaseDataAccess protected string
  • 将图像列保存到 SQL Server 2000 中的文件

    我在 SQL Server 2000 中有一个包含图像列的表 我需要将图像数据保存到文件系统上的文件中 在 SQL Server 2005 中 我可以使用 ADODB Stream 对象进行文件 I O 但这在 SQL Server 200

随机推荐

  • UIGraphicsGetCurrentContext() 生命周期短

    我有一个实现手绘图的视图 但我有一个小问题 我注意到在 iPad 3 上一切都变得一团糟 所以我尝试更新我的绘图代码 可能就像我一开始就应该做的那样 以仅更新被描边的部分 然而 打开后的第一个行程以及闲置约10秒后的第一个行程都非常慢 一切
  • 如何将 .ckpt 文件转换为 .pb

    我在对象检测 API 中使用 ssd mobilenets 来训练我自己的模型 并获取 ckpt 文件 它在我的计算机上运行良好 但现在我想在手机上使用该模型 所以 我需要将其转换为 pb 文件 我不知道该怎么做 有人可以帮忙吗 顺便说一下
  • 尽管 cordova 是最新的,但使用 ionic 创建新应用程序时 Cordova 版本错误

    使用创建新应用程序时出现以下错误ionic 我正在按照标准文档 http ionicframework com getting started gsakhardande gsakhardande PC 桌面 ionic start myAp
  • 在matlab中读取灰度图像[重复]

    这个问题在这里已经有答案了 我有灰度图像 lena bmp 我想使用 imread 函数在 matlab 中读取此图像 当我使用下面的代码来读取和显示图像时 我的图像是暗的 黑色 img imread lena bmp imshow img
  • 在C语言中,如何将整数插入字符串?

    我的代码得到一串字符 例如 aaabbdddd 函数将字母及其出现的次数插入到新字符串中 所以这个特定字符串的输出应该是 a3b2d4 我的问题是如何将数字插入字符串中 我尝试使用 itoa 并将整个字符串转换为单个数字 这是我的代码 de
  • 为什么我不能比较 Exception 对象是否相等?

    SSCCE import java util Objects public class FooMain private static Exception foo try throw new Exception catch Exception
  • strcat 与 char *a[10] 的问题

    include include
  • $Pos from Bottom inside <%循环DataObjects %>

    可以在数据对象上的模板循环内以某种方式判断您是否位于 Pos 24 但从底部开始计数 类似于 do stuff or like do stuff or like do stuff 在 Silverstripe 3 中 能够执行以下操作 He
  • 如何使用 Python Pandas 将 JMP *.jmp 文件读取到 Pandas 数据帧中

    我正在努力读书SAS JMP 文件与熊猫read csv函数进入 Pandas 数据框 有人有处理这种类型的数据文件的经验吗 最有效的方法是什么 这对我有用 其结果有时有点出乎意料 例如 有时我得到没有标题的 CSV 即使在 JMP 中它们
  • 'my/path/to/venv/lib64'' aria-label='函数未实现:'lib' -> 'my/path/to/venv/lib64''> 函数未实现:'lib' -> 'my/path/to/venv/lib64'

    操作系统 Manjaro蟒蛇 3 8 我的计算机上有 2 个分区 一个是安装 Manjaro 的位置 另一个是辅助 SSD 每次当我运行这个命令时virtualenv env在我的辅助 SSD 中 我收到以下错误 OSError Errno
  • 来自串行端口的 Readline 锁定

    我正在尝试从秤 RS232 接口读取数据 它通过串行端口发送连续的 ASCII 字符串流 但我无法获取该字符串流 我只想获取它发出的一行数据 我想我假设我会使用 Readline 来获取数据 但当我运行它时它只会锁定 PC 我认为它正在尝试
  • Pandas 数据框垂直合并

    我有一个关于合并两个数据框的疑问 例如我有 2 个数据框 如下所示 print df1 Year Location 0 2013 america 1 2008 usa 2 2011 asia print df2 Year Location
  • 如何在opencv中的相机流上叠加小动画

    我正在开发一个使用opencv作为我的大学项目的应用程序 它几乎完成了 除了我无法在我的相机流上覆盖动画视频 Flash视频 我想捕获用户的嘴巴 在检测到嘴巴后我想覆盖一个烟雾的动画视频 请问谁能帮我处理重叠部分吗 如果不可能 您能否阐明任
  • 使用视差屏幕

    我想在我的游戏代码中使用 libgdx 来使用视差屏幕 其中屏幕沿 y 方向移动 我的游戏代码给出为 public class ParallaxLayer public TextureRegion region public Vector2
  • 登录 Python 脚本不起作用:导致日志文件为空

    我有一个具有日志记录功能的脚本 但它停止工作 日志记录 而不是脚本 我写了一个小例子来说明这个问题 import logging from os import remove from os path import exists def se
  • 从azure databricks删除azure sql数据库行

    我在 Azure SQL 数据库中有一个表 我想根据某些条件从该表中删除选定的行 或者从 Azure Databricks 中删除整个表 目前我正在使用truncateJDBC 的属性可以截断整个表而不删除它 然后用新的数据帧重写它 df
  • 如何在 Spring 4 STOMP over WebSocket 配置中回复未经身份验证的用户?

    我正在尝试 Spring 4 WebSocket STOMP 应用程序 有没有办法回复单一未验证用户的条件是每个用户都有唯一的会话 ID 现在我只能广播消息或直接发送到经过验证的 user Controller public class P
  • 使用 equals 比较字符串和整数

    下面代码的输出是false String str 3456 String str1 3456 System out println Integer valueOf str equals str1 我不明白 我以为它会回来true 当我正在准
  • Google colab直接使用Os.listdir访问机器的本地驱动器

    我是 google colab 的新手 我正在弄清楚 google colab 是否能够直接访问我计算机的 cdrive 上的文件 import os path C Users guest Desktop for file in os li
  • 分解日期之间的日期,检查和调整参数

    我使用了一个函数使用函数获取两个日期之间的日期列表效果非常好 但是 我需要对通过的结束日期进行额外检查 有时此日期将为空 因为如果记录仍然是最新的 则不会输入该记录 如果是 我想用当前日期替换它 以便返回从开始日期到当前日期的日期 我想输入