根据json值sql选择行

时间:2016-12-13 13:07:23

标签: sql postgresql

我有一个列将json值保存为文本。我想根据文本字段中包含的特定值在查询中选择列。

要清楚,我有一个列server_response,可以按如下方式保存数据:

  

{    “成功”:是的,    “PasswordNotExpired”:是的,    “存在”:是的,    “状态”:“A”,    “呃”:null,    “状态码”:200,    “消息”:“登录被拒绝”   }

如何根据消息是/或包含在where子句中的Login Denied来选择列?

2 个答案:

答案 0 :(得分:4)

这应该可以解决问题,至少这是我理解你想要的:

SELECT * FROM table WHERE server_response LIKE '%Login Denied%'

答案 1 :(得分:1)

我认为您需要这样的查询:

SELECT *
FROM yourTable
WHERE server_response->>Message LIKE '%Login Denied%'

注意: source

  

->运算符返回一个JSON对象   ->>运算符返回TEXT。