sql对于json数据里面的key值我们如何排序

首先我们创建一个表json用于存储json数据,我们对其中的class或name进行排序,我们该如何处理?

create table Json (

  A varchar(100) not null

);

insert into Json (A) values ("{'class':'beatiful','name':'wonderful'}");

insert into Json (A) values ("{'name':'fantastic','class':'amazing'}");

insert into Json (A) values ("{'name':'dantastic','class':'dmazing'}");

执行sql排序

select *

  , substring_index(substring_index(

      replace(substr(A, 2, char_length(A) - 2), '\':\'', '\',\'')

      , ','

      , find_in_set('\'name\'', replace(substr(A, 2, char_length(A) - 2), '\':\'', '\',\'')) + 1

    ), ',', -1) as SortItem

from Json

按照上述sql我们直接修改name为class进行排序,是不是很简单,尝试下吧

order by SortItem;

猜你喜欢

转载自xialluyouyue.iteye.com/blog/1976200
今日推荐