Null在多少种语言中不等于Null?

===============>>#1 票数:15 已采纳

在SQL(作为逻辑语言)中是这种方式,因为null表示未知/未定义。

但是,在编程语言(例如C ++或C#)中,空指针/引用是具有特定含义的特定值-没什么。

两个虚无是对等的,但两个未知不是。 混淆来自于两个概念使用相同名称(空)的事实。

===============>>#2 票数:4

在VB6中,表达式Null = Null将产生Null而不是您所期望的True 如果您尝试将其分配给布尔值,这将导致运行时错误,但是,如果将其用作“ If ... Then ”的条件,它将表现为False 此外Null <> Null 也会产生Null ,所以:

在VB6中,您可以说Null既不等于自身(或其他任何东西)也不不相等!

您应该使用IsNull()函数进行测试。

VB6还具有其他特殊值:

  • Nothing对象引用。 Nothing = Nothing是编译错误。 (您应该使用“ is ”进行比较)
  • Missing尚未提供的可选参数。 它没有文字表示,因此您甚至无法编写Missing = Missing (测试是IsMissing(foo)
  • 未初始化变量为Empty 这人做试验等于本身虽然有一个功能IsEmpty()
  • ...让我知道我是否忘记了一个

我记得对VB有点厌恶。

===============>>#3 票数:3

Oracle是这种方式。

SELECT * FROM dual WHERE NULL=null;  --no rows returned

===============>>#4 票数:3

MySQL有一个空安全的相等运算符<=>,如果双方相等或双方为null,则返回true。 参见MySQL文档

===============>>#5 票数:2

在C#中,Nullable <bool>具有关于逻辑运算符的有趣属性,但是相等运算符与该语言中的其他类型相同(即(((bool?)null ==(bool?)null)== true) 。

为了保留短路逻辑运算符的短路行为,并保持与非短路逻辑运算符的一致性,可空布尔值具有一些有趣的属性。 例如:true || null == true。 false && null == false,等等。这与其他三值逻辑语言(例如ANSI SQL)直接矛盾。

===============>>#6 票数:2

您可以通过以下方式使红宝石工作:

class Null
 def self.==(other);false;end
end
n=Null
print "Null equals nothing" if n!=Null

===============>>#7 票数:0

在SQL中,您必须执行以下操作:

WHERE column is NULL

而不是

WHERE column = NULL

  ask by cazlab translate from so

未解决问题?本站智能推荐:

9回复

SQL不等于&null

我们想写这个查询: 我们希望查询包含col1为null的行(而col2 ='something')。 目前,查询不会对col1为null的行执行此操作。 以下查询是最好还是最快的方法吗? 或者,如果需要,我们可以将所有col1 null值更新为空字符串。 这会是一个更好的方
1回复

Oracle:SELECT,如果日期不等于null,则日期更少

我有一张记录表,当记录变为非活动状态时,一列保存该值。 大多数记录仍处于打开状态,因此end_date列中没有任何值。 我想选择所有仍处于活动状态的记录。 一种实现此目的的方法(从我的头开始): 但这感觉不对。 有没有更好的方法来实现我想要的? 编辑:顺便说一句,表不是
7回复

为什么null不等于null false

我正在读这篇文章: 在SQL中获取null == null 并且一致认为,当尝试测试两个(可为空)sql列之间的相等性时,正确的方法是: 当A和B为NULL时,(A = B)仍然返回FALSE,因为NULL不等于NULL。 这就是需要额外检查的原因。 在测试不平等时呢?
2回复

该脚本用什么语言编写?

我知道这是Visual Basic的某种变体,但我知道它不是.NET。 是VB6还是我不知道的某种其他VB脚本语言?
3回复

不等于<>查询排除NULL值

我无法解决一些SQL查询问题。 如果我在表上运行上述查询,我​​将返回60条记录。 但是应该接近300。我认为问题是,有些记录在Requested字段中只是空白,而另一些则为NULL。 但是我会认为NULL仍然会算作不等于“是”,不是吗? 如果没有,有没有办法解决这个问题而不必返回
11回复

不等于<>!= NULL运算符

有人可以解释一下SQL中的以下行为吗?
2回复

不等于Null在SQL Server中不起作用

我下面有一个查询 在Case When查询我试图返回Name基础上, b.ApId值。 但是,即使b.ApId不为null,我B.Name得到B.Name而不是Ap.Name 。 谁能指出我要去哪里了。
2回复

内连接中的null不等于输出不同的结果

我的问题是关于AND ouid::varchar != ouid_dois::varchar查询之间的唯一区别就是这个条件。 但是如果ouid_dois为null,为什么xxxxxx != null不起作用? 查询应输出相同的内容。 这些条件都是真的,对吧?
2回复

在case语句中字段不等于null的问题

所以我在巨大的查询中有EXISTS ,如下所示: 问题来自CASE语句的ELSE部分,此ExTableFieldA <> NULL始终为false。 我可以轻松地编写另一个参数@EmptyGuid并将其设置为等于'00000000-0000-0000-0000-000000
1回复

SQL不等于不返回NULL结果

返回结果: 为什么在结果集中没有返回NULL值的id#13? 使用MYSQL。