Oralce12的JSON函数

Oracle12以后内置了查询结果转JSON的函数可以对结果进行转换,可以省去在程序中吃内存的操作。
JSON_OBJECT
JSON_OBJECTAGG
JSON_ARRaY
JSON_ARRaYAGG


    SELECT 
    JSON_OBJECT(
        key 'id' value PT_SN || '-' || HIS_INFO_SN, 
        key 'ptName' value  convert( PT_NAME ,  'AL32UTF8' ),
        key 'investors' value  (
                    select JSON_ARRaYAGG(  JSON_OBJECT( 
                        key 'id' value  convert( i.inv_sn ,  'AL32UTF8' ),
                        key 'invName' value convert( i.inv_Name ,  'AL32UTF8' )
                        absent on null
                    )   ) FROM ENTERPRISE_INVESTOR i WHERE i.pt_sn  =  b.pt_sn 
            )
        ,
        key 'organizes' value (
                    select JSON_ARRaYagg(  JSON_OBJECT(
                        key 'id' value  convert( o.INST_SN ,  'AL32UTF8' ),
                        key 'name' value  convert( o.name ,  'AL32UTF8' )
                        absent on null 
                    )) FROM ENTERPRISE_Organize o WHERE o.pt_sn =  b.pt_sn 
            )
        absent on null
)
FROM
        ENTERPRISE_BASEINFO b  where b.pt_sn = 290359

得到结果

{
    "id":"290359-727969",
    "busiScope":"汽车配件、摩托车配件",
    "ptName":"四川省汽车成都供应公司",
    "lastUpdate":"2012-07-07 10:45:37",
    "investors":[
        {
            "id":"2260679",
            "invName":"四川省汽车成都供应公司"
        }
    ],
    "organizes":[
        {
            "id":"3146159",
            "name":"马莉"
        },
        {
            "id":"2385929",
            "name":"马莉"
        }
    ]
}

查询结果乱码:
如果在navicat等工具中查出结果有乱码,尝试将工具的编码修改后再次进行验证。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,958评论 1 45
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,174评论 1 32
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 4,466评论 1 14
  • 放不下的离开了,放下的忘不了,在爱情里不是你爱我我就会爱你,也不是你对我付出,就一定会在我这里得到回报。 ...
    琴汐阅读 502评论 0 0
  • 【1】 去年今日此门中,人面桃花相映红。 人面不知何处去,桃花依旧笑春风。 此刻的地铁上还有很多人。窗外五彩斑斓的...
    清水浮萍阅读 211评论 0 0