【发布时间】:2021-05-21 17:19:33
【问题描述】:
我的观点的第一行(查询?),基本上是在尝试这样做:
SELECT TOP (100) PERCENT dbo.TableName.Field1
, dbo.TableName.Field2
, IIF(dbo.TableName.Field3 IS NOT NULL, 1, 0) AS SomeAlias
但由于某种原因,它不喜欢“IS”关键字并给我它无法识别的错误,即使我在 WHERE 子句中放置了一个带有“IS NOT NULL”的随机字段,它仍然有效美好的。我一直在MS Access里做这种事情,是不是不允许用表达式创建列?
【问题讨论】:
-
Case statement 或 ISNULL 可能会完成您需要给您挖掘的内容。
-
您使用的是哪个版本的 SQL Server? IIF 是在 SQL Server 2012 中引入的。
-
“SQL Server Management Studio”,我不知道如何检查版本本身
-
忘记你曾经了解过“TOP (100) PERCENT” - 它没有任何用处!一个视图,就像一张桌子,没有内在的顺序。需要在结果集中排序?那么生成它的查询必须有一个 ORDER BY 子句。
-
当我创建一个新视图时,即使我尝试删除它,它也会自动插入前 100% 的内容,所以我认为这是强制性的
标签: sql sql-server null