当前位置: 首页 > 面试题库 >

在PostgreSQL中是否将所有NULL数组

葛飞扬
2023-03-14
问题内容

如果PostgreSQL数组的所有元素均为NULL,是否有一个返回TRUE的表达式?

如果它是非NULL的值,我当然可以使用类似以下的内容:

SELECT 4 = ALL (ARRAY[4,5]::integer[]);

但是我想用IS NULL测试而不是= 4测试来进行ALL操作。我不认为这是一种ALL语法,并且NULL的语义与数组混合在一起,我自己却无法想到一种实现它的形式。因此,我问堆栈溢出。;-)

我知道我可以在pl / sql或pl / pgsql中编写一个执行此操作的函数,但是在使用该函数之前,我想先看看是否有直接表达式。


问题答案:

我认为我得到的答案最短,同时仍然保留4 = ALL (ARRAY[4,5]::integer[]);结构:

现场测试:https :
//www.db-fiddle.com/f/6DuB1N4FdcvZdxKiHczu5y/1

select
y, true = ALL (select unnest(z) is null)
from x


 类似资料:
  • 问题内容: 我需要为正在使用的API 指定一个,但实际上不需要输出。Java是否具有等同于? 问题答案: 从Java 11开始,有一个静态工具可以完全满足您的需要,它是一个静态工厂方法: 返回一个丢弃所有字节的新OutputStream。返回的流最初是打开的。通过调用close()方法关闭流。随后对close()的调用无效。

  • 与此问题类似,如何查找数组中是否存在空值? 这里有一些尝试。 只有使用array\u to\u string的技巧才会显示预期值。有没有更好的方法来测试这一点?

  • 问题内容: 我今天遇到了与此类似的代码。 似乎暗示数据类型信息可以与NULL值关联。这是否将元数据附加到将其标识为指定数据类型的NULL值? 这篇文章详细介绍了一种在SqlServer中查找数据类型的方法,但是当我尝试以下行时,它以NULL的形式返回: 问题答案: 在SQL Server中,是在默认情况下所有我能想到的场景。您可以使用以下代码确定这一点: 结果: 在将其放入表中或将其与某些上下文元

  • 问题内容: 我正在使用Java JDBC应用程序从数据库中获取约500,000条记录。使用的数据库是Oracle。取出每一行后,我立即将数据写入文件。由于完成整个数据的获取大约需要一个小时,因此我试图增加结果集的获取大小。我已经在多个链接中看到,在增加访存大小的同时,应该注意内存消耗。增加获取大小实际上是否会增加jvm使用的堆内存? 假设获取大小为10,并且程序查询总共返回100行。在第一次读取期

  • 问题内容: 我有一个带有序列ID的postgres表。 插入通常发生在Web应用程序中。 我手动插入了两个新记录,将id设置为max(id)+1 **** 在这2次插入之后,当Web应用程序插入2条记录时,它会给出重复的键错误。 仅用于2条记录。之后,一切正常。 问题是-为什么我的手动插入没有增加序列号? 自动递增和串行是否不同? 我在这里想念什么?MySQL或任何其他SQL是否存在相同的问题?

  • 问题内容: 我有一些类型为int的列,但值是空的。因此,当我插入数据库时​​,我想将empty转换为null。我使用代码: 但显示错误: 为什么? 问题答案: 有NULLIF()功能: 如果var保持$ 2中的值,则NULL取而代之。 在这个例子中我替换空字符串:’‘有NULL。 有该类型的整数无空字符串。只是不可能。由于NULLIF()无法切换数据类型,因此必须清理PHP中的输入。 如果您没有定