mysql条件过滤器元素

pftdvrlh  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(444)

在mysql中有一个json数组类型列,并尝试有条件地从数组中过滤出一些元素。以下是示例:

原始json数组

[{“name”:“atencion a clientes”,“number”:“*111”},{“name”:“atn ciudadana”,“number”:“066”},{“name”:“atn ctes intl”,“number”:“+525813300”},{“name”:“bomberdos”,“number”:“116”},{“name”:“chelo”,“number”:“993-120-2100”}]
所需输出如下:

所需的输出json数组

[{“name”:“atn ctes intl”,“number”:“+525525813300”},{“name”:“chelo”,“number”:“993-120-2100”}]
我们只想保留电话号码长度>=10的元素。尝试使用以下代码,但无效。是否可以通过mysql函数实现这一点?谢谢。
其中长度(replace(json_extract(phone_contacts,'$[*].number'),'','')>=10

6uxekuva

6uxekuva1#

尝试选择您的 where 作为自己的列并检查输出。如果可行,你可以参考。
所以

Select         length(replace(json_extract(phone_c ntacts,'$[*].number' ) , ' ', '') ) as my_length

然后引用 having 在查询结束时

Having my_length>=10

相关问题