ISNULL MIN在一起

时间:2018-05-21 10:22:21

标签: sql-server reporting-services min isnull

早上好,伙计们。我有一个很好的搜索,但无法找到答案(或我能理解的)

我有一个存储过程,并希望返回一个日期作为查询的一部分,但是如果没有记录(NULL),则返回一些友好的东西,如'No Planned Stock'

我有这个

ISNULL(MIN(wt.CompletionDate),'No Planned Stock') AS NextStockIn

这会导致以下错误

  

从字符串转换日期和/或时间时转换失败。

但是这一半起作用(有一半是有效的吗?)

MIN(ISNULL(wt.CompletionDate,'No Planned Stock')) AS NextStockIn

这个问题是我仍然得到NULL而不是'No Planned Stock'

在一个理想的世界中,像一个nicley格式化(dd / MM / yyyy)日期或'No Planned Stock'

我非常感谢您的帮助,谢谢您提前。

1 个答案:

答案 0 :(得分:0)

我正在考虑这些方式

CASE WHEN CAST(wt.CompletionDate AS VARCHAR(25)) IS NULL 
THEN 'No Planned Stock' 
ELSE CAST(MIN(wt.CompletionDate) AS VARCHAR(25))

因为varchar肯定不是与datetime类型兼容,但有时候,根据varchar数据的值,它可以由SQL Server自动转换为datetime类型,在这种情况下,#No; No Planned Stock&#39 ;不能转换为日期时间值。

或者也许你也可以试试这个

ISNULL(CAST(MIN(wt.CompletionDate) AS VARCHAR(25)),'No Planned Stock') AS NextStockIn

我还没有测试过这些,但我希望这可以按预期工作