SSMS 设计器问题 IIS SQL Server



我在SQL Server 2017中构建了一个SQL查询,如下所示:

SELECT IIF(500 < 1000, 'YES', 'NO');

虽然这在普通查询中有效,但我似乎无法在 SQL Server 视图中使用它。它会抛出一个错误,指出无法识别"<"。所有其他运算符也是如此。为什么我不能在视图中使用它?

编辑

CREATE VIEW queryTest 
AS
    SELECT IIF(500 < 1000, 'YES', 'NO');

尽管 SQL Server Management Studio 在单击视图上的"设计"时会引发错误,但您仍然可以针对它运行Selects

一个问题是您需要命名视图中的列。 不命名列会给出一个非常清晰的错误消息:

Msg 4511 级别 16 状态 1 行 2

创建视图或函数失败,因为没有为列 1 指定列名。

这很容易用一个名字来修复:

CREATE VIEW v as
    SELECT IIF(500<1000, 'YES', 'NO') as x;

这是一个数据库<>小提琴。

我无法重现您的问题,它在SQL Server 2017(Express(上对我来说工作正常

CREATE VIEW queryTest 
AS SELECT 
IIF(500 < 1000, 'YES', 'NO') as yn;
select * from querytest;

结果:

yn
--
YES

请注意,我按照另一张海报的建议将as yn添加到视图命令中。

最新更新