【发布时间】:2015-11-26 00:36:02
【问题描述】:
我必须从用户输入的 一周中(该月的周数 - 第 1、2、3、4 日和最后一个)和 星期几(星期日,星期一..)在 SQL 服务器中。
示例: 每月第四个星期日、每月最后一个星期五、第一个星期一等
我可以在 .net 中轻松做到这一点,但 SQL Server 的日期功能似乎确实有限。
我不得不使用大量逻辑来获取日期。要使用上述两个参数计算日期,我必须使用很多 datepart 函数。
关于如何为此类函数提出最佳 SQL 查询的任何建议?
【问题讨论】:
-
如果您使用的是 sql server 2012 及更高版本,请查看
DATEFROMPARTS()函数。 msdn.microsoft.com/en-IN/library/hh213228.aspx -
您是否考虑过使用已有的 .NET 代码创建 CLR Stored Procedure?
-
@DhruvJoshi - 是的,我确实读过它,但它需要年、月和日期作为参数。我需要的是类似于 DateFromParts 的东西,但更多的是它的深入版本。
标签: sql-server tsql date