我有一个查询,我正在从在Access上运行变为要传递给SQL,这是从未犯过的绊倒错误。
我想到的一种可能性是,我不确定我的某些条件语句在SQL Server中是否与Access中的相同。例如,在我现有的查询中,我测试是否用以下语句在名为“已关闭”的字段中输入了日期:
WHERE c.Closed
在Access中,每当在Closed中输入任何内容时,它返回true,否则返回false。 SQL Server是否以相同的方式工作?如果不是,是否有一种优雅的方法来测试同一件事,还是我必须显式测试是否为空?
这似乎与布尔文字(已存在答案)并不完全相同,因为它们的文字价值为“ True”或“ False”。在这里,我将与Access中的行为进行比较,其中某些非零长度,零(值)或null的数据类型在有条件的情况下计算为True。 Microsoft将其描述为条件语句中“隐式转换为boolean”的数据类型。我认为这与文字不同。或至少还不清楚,我认为一个单独的问题是适当的。
答案 0 :(得分:1)
您的语句在sql server中无效。您可以在其中c.Closes IS NOT NULL或使用ISNULL命令将null值替换为其他值。