数组中的json_contains返回空集

时间:2018-07-13 19:08:42

标签: mysql json

我有一个

这样的json数组
{  
   "response":[  
      {  
         "Rate Lock":"Yes",
         "Loan Amount":"1M - 2M",
         "Credit Score":"800",
         "Pre-Approved":"Yes",
         "Mortgage Type":"15 ARM",
         "Property Type":"Commercial",
         "Forecasted Close Date":"2018-07-12"
      }
   ]
}

在名为“ custom_response”的列中

select * from custom_deals_response where json_contains(`custom_response`,'"2018-07-12"')

返回并清空集。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

JSON_CONTAINS具有3个参数(目标列,候选项,路径(可选))。在您的数据结构中,response对象内部的目标搜索列位置。您必须将3个参数设置为mySql必须搜索的特定路径。 Documentation reference

  

JSON_CONTAINS(目标,候选项[,路径])

 select * from custom_deals_response 
    where json_contains(`custom_response`,'{"Forecasted Close Date":"2018-07-12"}','$.response');