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

获取json列键为null的记录

晋承嗣
2023-03-14
问题内容

我有users带json列的表details

我想获取所有用户记录,其中details [“ email”]为null或电子邮件密钥不存在。

这不起作用:

SELECT users.* FROM users where details->'email' IS NOT NULL;

ERROR: operator does not exist: json -> boolean


问题答案:

使用括号()。看起来像编译器试图看到它details->('email' IS NOT NULL)。因此,您可以像这样修复它:

select *
from users
where (details->'email') is not null

[sql fiddle demo](http://sqlfiddle.com/#!15/155d9/6)

实际上,要获取其中 details [“ email”]为null或电子邮件密钥不存在的记录 ,可以使用以下查询:

select *
from users
where (details->>'email') is null


 类似资料:
  • 我有一个使用KafKaavroSerializer生成的Kafka Avro主题。 我的独立属性如下所示。 我正在使用Confluent 4.0.0运行Kafka Connect。 当我在独立模式下运行hdfs接收器的Kafka连接器时,收到以下错误消息: 当我使用kafka-avro-console-consumer传递模式注册表时,我会对Kafka消息进行反序列化。 即:

  • 问题内容: 我正在序列化 http://powercollections.codeplex.com/到json。 它具有618个元素,这些元素具有深层嵌套,即单个Object可能在其中包含多个字典之类的对象。我正在使用JSON.Net 我想念什么? 更多信息:-直到我使用dynamic之前,它都可以正常工作,我不得不切换到MultiDictionary以允许具有相同名称的多个属性。它适用于大多数情

  • 问题内容: 我在JavaScript中有一个json-object,我想在其中获取使用过的键。我的JavaScript代码如下所示: 我想要一个循环来提醒我“ person”和“ age”,这是json-Array中第一个对象的键。 问题答案: [您拥有的只是一个对象,而不是“ json- object”。JSON是一种文本符号。您引用的是使用数组初始化程序和对象初始化程序(也称为“对象文字语法”

  • 我希望在迭代的帮助下获得JSON对象键及其元素的各个值 我的json会像这样:-

  • 问题内容: 我是JSON的新手。因此,如果这是一个非常基本的疑问,请不要责骂我。我有一个JSON对象参考,我想获取Key(对象只有一个“键值对”)。如何在Java中获得它? 问题答案: 您可以用来获取所有密钥。然后,您可以遍历密钥以从中获得第一个密钥,例如:

  • 问题内容: 我有一个表,其中有几个ID列指向其他表。 我希望 只有 在将数据放入其中时,外键才能强制完整性。如果我稍后进行更新以填充该列,则它还应该检查约束。 (这可能取决于数据库服务器,我使用的是MySQL和InnoDB表类型) 我相信这是一个合理的期望,但是如果我错了,请纠正我。 问题答案: 是的,您只能在值不为NULL时强制执行约束。可以使用以下示例轻松测试它: 第一次插入将通过,因为我们在