SQL:选择(null = null);

标签 sql postgresql-8.4

这个问题不是我正在查看的数据库考试中提出的,因此在实际情况下可能永远无法使用...

What output does the following valid SQL statement produce? Explain your answer!

SELECT (NULL = NULL);


我可以轻松产生该语句的输出,即
school => select(null = null);
?柱子?
----------

(1列)

在psql 8.4.11中,但是我不知道答案的方式和原因……我猜想它会尝试对方括号内的表达式求值,并得出true/false,但显然不是。
关于它为什么表现得如此的任何提示?
谢谢

最佳答案

NULL代表“未知值”。不知道值是true还是false或其他任何值。

因此,当比较两个未知值时,答案将是什么? UnknownA等于UnknownB吗?

回答?未知...

这是SQL Server的示例:

IF (NULL = NULL)
  PRINT 'Equals'

IF (NULL != NULL)
  PRINT 'Not Equals'


IF (NULL IS NULL)
  PRINT 'IS'

IF (NULL IS NOT NULL)
  PRINT 'IS NOT'

唯一打印的东西:IS

关于SQL:选择(null = null);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12108021/

相关文章:

postgresql - 根据某些条件显示计数

mysql - Wordpress SQL 查询产品 X 的用户名字和姓氏?

php - Mysql 查询从 3 个 IDS 获取 3 个名称

postgresql - 从满足以文本形式给出的条件的整数数组中获取匹配结果

sql - 将数组转换为 Postgres 中的行

PostgreSQL 8.4 Win 32 位,到 64 位 Linux 的复制策略

sql - postgresql 明显不工作

sql - 使用 mysql 5.1.41 更新表中最高的几行

php - 是否可以在同一个 sql 查询中进行插入或更新?

sql - PostgreSQL 如何禁用计划缓存来修复我的 base62 哈希?