0

我无法弄清楚如何将 DateTime Maximum 函数与多个数据字段一起使用。我有 2 个(日期时间)数据字段,我想获得最大值。

“值”字段仅允许您键入文字或放入 ONE 字段。如何创建我的 2 个字段的数组?

谢谢!

在此处输入图像描述

4

1 回答 1

2

鄂毕

我认为您遇到的问题是输入不是日期而是日期数组: DateTime[]

我不认为此功能通常用于帮助您找到 2 个数据字段中 2 个日期之间的最大值

这个函数的工作方式是你需要给它一个数组,当然第二个参数是一个日期。

为此,您可以使用一个智能对象,它将返回一个日期时间列表(当您调用该列表时,请确保您不只返回第一个,这是默认值)。

然后该函数将正常工作并告诉您此列表中的哪些日期是“最大值”。

现在,如果您真的必须使用这些数据字段中的日期,您首先需要将这两个日期时间转换为日期时间数组。不幸的是,我不知道有什么功能可以做到这一点(我可能错了......)。

尽管如此,我还是看到了 3 个选项:

  1. 您编写了一个自定义函数来执行此操作:获取 2 个输入并返回它们的数组(知识库文章解释了如何执行此操作)
  2. 您使用存储过程(您通过智能对象调用)将您的 2 数据转换为数组,然后您可以使用您提到的函数 3 。我认为您可以通过让存储过程为您找到最大值来进一步简化。见下文。

#3 的简单版本是:

declare @D1 datetime

declare @D2 datetime
SET @D1 = getdate()
SET @D2 = getdate()+100

if (@D1>@D2)
    select @D1
else
    select @D2

我希望这有帮助。

于 2015-06-11T15:26:49.797 回答