使用 DateTime.DayOfYear 属性获取介于 1 和 N 之间的值的函数

本文关键字:之间 函数 DayOfYear DateTime 属性 获取 使用 | 更新日期: 2023-09-27 18:33:15

我正在开发一个应用程序,其中包含一个包含 N 行的表。我正在使用C#和SQL Server。

我必须每天检索不同的行。例如,在 12 月 22 日,我必须检索第 1 行。12月23日,我必须检索第2行,依此类推。

我需要一个函数,它返回一个从 1 到 N 的数字,使用 DateTime.DayOfYear 属性来获取它。

Maaybe我需要做这样的事情(DateTime.DayOfYear mod N),做我想做的事情。

我必须做什么?

使用 DateTime.DayOfYear 属性获取介于 1 和 N 之间的值的函数

使用 DateTime.ToOADate() 获取数字值。

var today = DateTime.Today.ToOADate();
return today % N;

如果您想在SQL查询中执行此操作,我相信有一些类似的功能,例如ToOADate()

有关 OADate() 的详细信息,请参阅文档。

var today = DateTime.Now().DayOfYear;
return today % N + 1;
This will get you a number between 1 and N.  If you don't use the + 1 it will be between 0 and N - 1.  If your SQL Server has N rows and an identity column you can just
select *
from my_table
where my_parameter = my_identity;

只需将 c# 函数的结果作为参数传递给 sql 命令,您就可以开始了。