IIF 表达式中的 SQL Report Builder time(0) 和 int

Posted

技术标签:

【中文标题】IIF 表达式中的 SQL Report Builder time(0) 和 int【英文标题】:SQL Report Builder time(0) and int in IIF expression 【发布时间】:2015-10-05 10:58:34 【问题描述】:

我有两个数据集,它们返回 2 个值,一个是我们流程中一个步骤的持续时间(时间(0),例如 00:05:32),另一个是以秒为单位的持续时间设定点(整数,例如 900秒)。如果实际持续时间比设定的持续时间短/长,我需要比较这两者并在列中写一个“OK”或“NOK”。 我的问题实际上是将一个值转换为另一个值的类型,以便我可以在两者之间进行比较(在 IIF 表达式中)。我对存储过程没有影响,只能在报表生成器本身中工作。谁能帮帮我?

【问题讨论】:

您需要使用 iif(condition/comparision=true,"OK","NOK" 设置表达式 - 如果您没有得到通知,请告诉我。跨度> 我可以毫无问题地设置表达式。实际问题是比较 IIF 表达式不喜欢的 time(0) 和 int。 【参考方案1】:

我找到了解决方案!诀窍是将两个变量都转换为日期时间。整数和时间(0)

以下表达对我有用。

=IIF((DateAdd("s", 0, "00:00:00") + Fields!Time.Value) > DateAdd("s", Fields!TimeSecondsInt.Value, "00:00:00"), "OK", "NOK")

【讨论】:

以上是关于IIF 表达式中的 SQL Report Builder time(0) 和 int的主要内容,如果未能解决你的问题,请参考以下文章

通往t - sql的阶梯:超越基本级别6:使用CASE表达式和IIF函数

楼梯T-SQL:超越基础6级:使用CASE表达式和IIF函数

T-SQL的基础:超越基础6级:使用CASE表达式和IIF函数

第九周翻译:使用CASE表达式和IIF函数

T-SQL 中的求和 IIF

oracle sql developer中的IIF语句