【发布时间】:2020-10-22 08:41:07
【问题描述】:
MS SQL Server 中的“mytable”表如下所示:
|Id|ka|kb|kc |kd
|1 | 1| 1|NULL|NULL
|2 | 1| 1|1 |NULL
|3 | 1| 1|1 |1
其中Id、ka kb 不能为null,但kc 和kd 可以为null。
我可以从 mytable 中选择也可以为空的变量?
int? varka = 1, varkb = 1, varkc = null, varkd = null;
select Id from mytable where ka = varka and kb = varkb and kc = varkc and kd = varkd
我想要的来自 mytable 的 Id 是“1”,只有“1”,但我在 C# 中得到一个 NULL,或者在 T-SQL 中没有结果。
【问题讨论】:
-
不,如果您正在编写 T-SQL,那么 几乎总是 您将使用 ANSI-null 行为,这意味着 null 永远不会等于任何东西:甚至 null -您需要使用
is null来测试空值。不过,不清楚你是如何添加参数的,所以我不清楚你在这里做什么。
标签: c# sql-server tsql select null