mysql json_contains可以区分大小写吗?

时间:2019-07-02 12:37:26

标签: mysql sql json

我希望能够使用“ json_contains”不区分大小写地“搜索”

这是json示例:

[
  {
    "title": "foo Bar",
    "author": "melaine"
  },
  {
    "title": "incredible",
    "author": "steve"
  }
]

我尝试过的事情:

SELECT json_contains('[{"title":"foo Bar", "authour": "melaine"}, {"title":"foo barius", "authour": "steve"}]', '{"title":"foo bar"}')

预期结果:1

实际结果:0

因为我寻找“ foo bar”,而json中的值为“ foo Bar”,所以没有找到匹配项。有没有办法使这种情况不区分大小写,所以我得到了匹配?

1 个答案:

答案 0 :(得分:2)

对于不区分大小写的搜索,您可以使用LOWER()函数将JSON(干草堆)和搜索块(针)都转换为小写:

SELECT json_contains(LOWER('[{"title":"foo Bar", "authour": "melaine"}, {"title":"foo barius", "authour": "steve"}]'), 
                     LOWER('{"title":"foo bar"}'))

DB Fiddle Demo