PHP有两个(我知道,如果算了三个isset())方法来确定一个值是否为null:is_null()和=== null.我听说过,但没有证实,这=== null更快,但在代码审查中有人强烈建议我使用,is_null()因为它是专门为空评估目的而设计的.他也开始谈论数学或其他什么.
无论如何,is_null()显然较慢的事实也让我相信它做得更多=== null而且可能更受欢迎.有没有理由使用其中一个?总是首选吗?怎么样isset()?
作为可能无法解决这个问题的附录,那么isset()对战is_null()呢?似乎所有人isset()都会压制通知,所以除非你真的想要一个未定义变量的通知,否则任何理由都可以使用is_null()?如果你知道变量当时被初始化了怎么样?
最后,是否有任何数学理由,更喜欢is_null()了=== null?关于null无法比较的东西?
在SQL Server中,您可以使用该IsNull()函数检查值是否为null,如果是,则返回另一个值.现在我想知道C#中是否有类似的东西.
例如,我想做类似的事情:
myNewValue = IsNull(myValue, new MyValue());
Run Code Online (Sandbox Code Playgroud)
代替:
if (myValue == null)
myValue = new MyValue();
myNewValue = myValue;
Run Code Online (Sandbox Code Playgroud)
谢谢.
我知道可以传递多个参数COALESCE,但是当你想只检查一个表达式以查看它是否存在时,你是使用默认值还是使用它更好的做法ISNULL?
这两者之间是否有任何性能提升?
我有这种情况
<div ng-repeat="test in current">
<div ng-if="test.view == null">
<i class="icon ion-checkmark"></i>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但test.view== null不起作用,也不检查test.view或test.view == ''
有任何想法吗?
谢谢
编辑:
在循环中,有时test.view,如果我这样做,有时值为NULL:
<div ng-if="!test.view">1</div>
<div ng-if="test.view">2</div>
Run Code Online (Sandbox Code Playgroud)
我只会看到 1
在SQL中你可以运行一个ISNULL(null,'')你如何在linq查询中执行此操作?
我加入了这个查询:
var hht = from x in db.HandheldAssets
join a in db.HandheldDevInfos on x.AssetID equals a.DevName into DevInfo
from aa in DevInfo.DefaultIfEmpty()
select new
{
AssetID = x.AssetID,
Status = xx.Online
};
Run Code Online (Sandbox Code Playgroud)
但是我有一个不可为空的位类型的列(xx.online)如果它为null,如何将其设置为false?
我不能让这个代码工作我必须遗漏一些非常简单的东西.我试图检查一个Cookie是否存在,如果它没有{不做任何事情}它是否{创建它}.我正在通过在页面上添加警报来测试cookie.基本上我不希望cookie继续使用引用网址重新创建,我试图只抓取第一个引用的URL.
$(document).ready(function(){
if ($.cookie('bas_referral') == null ){
var ref = document.referrer.toLowerCase();
// set cookie
var cookURL = $.cookie('bas_referral', ref, { expires: 1 });
}
});
Run Code Online (Sandbox Code Playgroud)
显示当前cookie内容:
// get cookie
alert($.cookie('bas_referral'));
// delete cookie
$.cookie('bas_referral', null);
Run Code Online (Sandbox Code Playgroud) 我在select语句中有这个代码
ISNULL(a.PolicySignedDateTime,aq.Amount) AS 'Signed Premium',
Run Code Online (Sandbox Code Playgroud)
但我想看看"a.PolicySignedDateTime"是否为空.是否有一个简单的功能来执行此操作,不涉及使用"if"语句?
干杯伙计们
我在MySQL表中有一个名为CODE的列,它可以是NULL.假设我有一些CODE ='C'的行,我想在我的select结果集中忽略它.我的结果集中可以有CODE = NULL或CODE!='C'.
以下查询不返回CODE为NULL的行:
SELECT * from TABLE where CODE!='C'
Run Code Online (Sandbox Code Playgroud)
但是这个查询按预期工作,我知道这是正确的方法.
SELECT * from TABLE where CODE IS NULL OR CODE!='C'
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么只有CODE!='C'不返回CODE = NULL的行?绝对'C'不是NULL.我们在这里没有比较一个角色的价值.有人可以说明为什么它不起作用?
我必须通过动态值(可以是None)过滤查询集:我可以简单地写:
filtered_queryset = queryset.filter(field=value)
Run Code Online (Sandbox Code Playgroud)
或者我应该检查无:
if value is None:
filtered_queryset = queryset.filter(field__isnull=True)
else:
filtered_queryset = queryset.filter(field=value)
Run Code Online (Sandbox Code Playgroud)
行为是否取决于特定的DBMS?
我有一个日期列有一些NULL.我想按日期栏ASC订购,但我需要将NULLs放在底部.如何在TSQL上做到这一点?
isnull ×10
sql ×4
sql-server ×3
c# ×2
if-statement ×2
t-sql ×2
.net ×1
angularjs ×1
coalesce ×1
cookies ×1
django ×1
javascript ×1
jquery ×1
linq ×1
mysql ×1
null ×1
php ×1
referrer ×1
sql-order-by ×1