鉴于以下内容:
SELECT ISNULL('XY' + NULL, 'ABCDEFGHIJ') -- Outputs ABC (Why?)
SELECT COALESCE('XY' + NULL, 'ABCDEFGHIJ') -- Outputs ABCDEFGHIJ
Run Code Online (Sandbox Code Playgroud)
为什么这些陈述会返回不同的结果?
如何检查数组变量
$a = array('a'=>1, 'c'=>null);
Run Code Online (Sandbox Code Playgroud)
已设置且为null.
function check($array, $key)
{
if (isset($array[$key])) {
if (is_null($array[$key])) {
echo $key . ' is null';
}
echo $key . ' is set';
}
}
check($a, 'a');
check($a, 'b');
check($a, 'c');
Run Code Online (Sandbox Code Playgroud)
是否有可能在PHP中具有检查$ a ['c']是否为空的函数以及如果$ a ['b']存在而没有"PHP Notice:..."错误?
你们都这样做了:
public void Proc(object parameter)
{
if (parameter == null)
throw new ArgumentNullException("parameter");
// Main code.
}
Run Code Online (Sandbox Code Playgroud)
Jon Skeet曾经提到他有时会使用扩展来进行检查,所以你可以这样做:
parameter.ThrowIfNull("parameter");
Run Code Online (Sandbox Code Playgroud)
所以我得到了这个扩展的两个实现,我不知道哪个是最好的.
第一:
internal static void ThrowIfNull<T>(this T o, string paramName) where T : class
{
if (o == null)
throw new ArgumentNullException(paramName);
}
Run Code Online (Sandbox Code Playgroud)
第二:
internal static void ThrowIfNull(this object o, string paramName)
{
if (o == null)
throw new ArgumentNullException(paramName);
}
Run Code Online (Sandbox Code Playgroud)
你怎么看?
在PHP中,我要检查,如果一个变量尚未设置/定义,这里设置变量NULL被认为是集/定义.
我知道这里的一切:http: //php.net/manual/en/types.comparisons.php 包括isset(),empty()和is_null().这些似乎都不是我想要的.请考虑以下示例:
<?php
$myNull = null;
echo 'isset($myNull): "'.isset($myNull).'"<br />';
echo '$myNull value = "'.$myNull . '"<br />';
echo "<br />";
echo 'isset($myUndefined): "'.isset($myUndefined).'"<br />';
echo '$myUndefined value = "'.$myUndefined . '"<br />';
?>
Run Code Online (Sandbox Code Playgroud)
这个例子中,输出是这样的:
isset($ myNull): ""
$ myNull值= ""
isset($ myUndefined):""
注意:未定义的变量:第9行的C:\ wamp\www\plm\temp4.php中的myUndefined
$ myUndefined value =""
我想知道变量是否是Undefined,如上面通知中所述.我想要一个函数,称之为"is_undefined",其中
$myNull = null;
is_undefined($myNull); // is false
is_undefined($myUndefined); // is true
Run Code Online (Sandbox Code Playgroud)
任何人?提前致谢.
使用c#方法DataRow.IsNull确定空值是否超过检查行是否等于DbNull.value有什么好处?
if(ds.Tables[0].Rows[0].IsNull("ROWNAME")) {do stuff}
Run Code Online (Sandbox Code Playgroud)
VS
if(ds.Tables[0].Rows[0]["ROWNAME"] == DbNull.value) {do stuff}
Run Code Online (Sandbox Code Playgroud) 我有一个简单的安装表:
如果install_slot为NULL,则它是可用的安装槽.不为null - 然后,使用插槽.我需要返回给定产品和电子邮件的总安装结果,以及给定产品和电子邮件的已安装结果.我想我可以用两个查询来做这个,但是想知道是否有一种SQL方法可以在一个中完成所有操作?
我尝试了以下作为一个疯狂的猜测,但它没有奏效.
SELECT
i1.`prod_code`,
COUNT(i1.`email`) AS total_installs,
COUNT(ISNULL(i2.`install_slot`)) AS used_installs
FROM
`installs` AS i1
JOIN
`installs` AS i2
ON
i1.`prod_code` = i2.`prod_code`
WHERE
i1.`email` = 'example@example.com'
GROUP BY
i1.`prod_code`,i2.`prod_code`
Run Code Online (Sandbox Code Playgroud) 我到处研究过这个,似乎无法找到答案.我希望我没有重复这个(因为这是我关于SO的第一个问题).
我正在尝试用Peewee编写一个选择查询,通常会去... WHERE foo = NULL; 在SQL世界中.
MySQL看起来像这样:
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| user | varchar(30) | NO | | NULL | |
| peer | varchar(30) | NO | | NULL | |
| deleted | date | YES | | NULL | |
| confirmed | date | YES | | NULL | | …Run Code Online (Sandbox Code Playgroud) 我有一个数据框,其中一些列包含空列表,其他列包含字符串列表:
donation_orgs donation_context
0 [] []
1 [the research of Dr. ...] [In lieu of flowers , memorial donations ...]
Run Code Online (Sandbox Code Playgroud)
我正在尝试返回没有任何有空列表的行的数据集.
我试过检查空值:
dfnotnull = df[df.donation_orgs != []]
dfnotnull
Run Code Online (Sandbox Code Playgroud)
和
dfnotnull = df[df.notnull().any(axis=1)]
pd.options.display.max_rows=500
dfnotnull
Run Code Online (Sandbox Code Playgroud)
我已经尝试循环并检查存在的值,但我认为列表不会像我认为的那样返回Null或None:
dfnotnull = pd.DataFrame(columns=('donation_orgs', 'donation_context'))
for i in range(0,len(df)):
if df['donation_orgs'].iloc(i):
dfnotnull.loc[i] = df.iloc[i]
Run Code Online (Sandbox Code Playgroud)
上述所有三种方法都只返回原始数据帧中的每一行.=
我有以下内容:
set @SomeVariable = @AnotherVariable/isnull(@VariableEqualToZero,1) - 1
Run Code Online (Sandbox Code Playgroud)
如果@VariableEqualToZero为null,则替换为1.如果@VariableEqualToZero = 0,我需要它替换1.我该怎么做呢?
我尝试使用此计算列:
CREATE TABLE dbo.Item
(
ItemId int NOT NULL IDENTITY (1, 1),
SpecialItemId int NULL,
--I tried this
IsSpecialItem AS ISNULL(SpecialItemId, 0) > 0,
--I tried this
IsSpecialItem AS SpecialItemId IS NOT NULL
--Both don't work
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)