`card_info` mediumtext COMMENT '卡片信息'
最近项目中遇到一个场景,就是对上面字段'card_info'卡片信息里的内容查询,判断卡片信息里面是否包含某一个字符串,这里可以用like来实现。
select * from table_name where card_info like '小米'
这条语句就可以查出card_info字段中包含’小米‘字符串的所有结果。
但是如果card_info不是一个String格式,而是json的text文本格式,比如:
{
"name":"小米米",
"effectQuery":[
{
"queryId":1234590,
"query":"小米手机怎么样",
"status":0,
"modifier":""
},
{
"queryId":2550,
"query":"雷军的小米管理术",
"status":0,
"modifier":""
},
{
"queryId":2566,
"query":"雷军谈小米管理理念",
"status":0,
"modifier":""
}
]
}
如果我们想查询card_info中的name字段是否包含’内容‘,sql语句可以这样写:
select * from table_name where card_info->>'$.name' like "%小米%"
如果想查询card_info中effectQuery里query是否包含,可以使用如下sql语句实现:
select * from table_name where card_info->'$.effectQuery[*].query' like "%内容%"