在if语句中,我总是必须使用if isnull(x) or x = "" then
两者之间有什么区别,为什么在某些情况下它们都不起作用?
答案 0 :(得分:5)
NULL
缺少值*
""
是零长度字符串
由于隐式转换 - 一个尚未填充的对象可能在两种情况下都返回true。但是,如果您要在其中放置""
的值,则isnull()
将返回False,而= ""
则返回True
*感谢Comintern改进解释(见评论)
答案 1 :(得分:3)
如果你做那个检查,那么x必须是 Variant ,而Null不是" Nothing"。没有什么意思是空的,并且存在特殊检查。
运行此命令并查看:
$anchorScroll();
$location.hash('');
$location.replace();
答案 2 :(得分:2)
正如其他答案所说,null无效,""是一个空字符串。
要在访问VBA中测试空变量和空变量,请使用以下命令:
If nz([variable], "") = "" Then do stuff
nz函数将空变量转换为""或0
答案 3 :(得分:0)
当我想检查null /空字符串时 我用
[Route("api/markers/getgrantsis")]
public HttpResponseMessage GetGrantsIS()
{
XmlDocument docContent = GetXmlDataFromDB();
return new HttpResponseMessage
{
Content = new StringContent(docContent.InnerXml.ToString(), Encoding.UTF8, "application/xml")
};
}
答案 4 :(得分:-1)
isnull
表示该值未知,而编辑: ""
表示它是零长度字符串*
* Credit:@Macro Man。