这是令我困惑的事情,但我从来没有找到解释.我在SQL Server 2008数据库中有一个类型的列smallint.我想查找值为NULL空的任何行,所以我这样说:
SELECT *
FROM products
WHERE warranty_dom IS NULL
OR warranty_dom = ''
Run Code Online (Sandbox Code Playgroud)
这将返回值为0的行
那么为什么被0视为相当于''?
我绝不是 CSS 专家,所以我可能只是不明白这里的一些简单内容。
我有一个正在维护的网站。该网站的大部分内容都是深色背景和白色文本。我被要求将几页更改为白底黑字。
我在CSS中创建了一个名为.blog的类,它看起来像这样:
.blog{
color:rgb(0,0,0);
background-color:rgb(255,255,255);
}
.blog h1,h2,h3,h4,h5,h6
{
color:rgb(0,0,0);
}
.blog a:link,a:visited,a:hover
{
color:rgb(0,0,0);
}
Run Code Online (Sandbox Code Playgroud)
该文件前面的内容是这样的:
body,a,.white{color:#fff;}
Run Code Online (Sandbox Code Playgroud)
当我将页面的一大块包裹在文本中时,背景会发生变化,但链接和标题保持白色(因此在白色页面上不可见)。
当我使用 Firebug 检查时,它显示我的博客类正在应用,包括当我选择标题或链接元素时。当然事实并非如此。
谁能提出这个原因?或者也许我应该在哪里寻找最有可能的解决方案?
我对运行的查询结果感到困惑.希望这并不会因为我拍打我的头而感觉像个白痴一样,但是这里(SQL Server 2008).
第一个查询是这样的:
SELECT p.product_number,p.long_desc
FROM products p
WHERE p.prod_status = 1
AND ((p.long_desc IS NULL) OR (p.long_desc LIKE '%N/A%'))
ORDER BY p.product_number
Run Code Online (Sandbox Code Playgroud)
第二个版本是这样的:
SELECT p.product_number,p.long_desc
FROM products p
WHERE p.prod_status = 1
AND p.long_desc IS NULL
OR p.long_desc LIKE '%N/A%'
ORDER BY p.product_number
Run Code Online (Sandbox Code Playgroud)
第二个版本中有三个产品没有出现在第一个版本中,但对我来说,这两个查询应该给出相同的结果.出现在第二,但不是首先在三个项目有值N/A的long_desc列.
然而,还有许多其他N/A版本也出现在两个版本中.
关于括号的使用,我对此无法理解?