तालिका जिसे एक जेसन फ़ील्ड में परिवर्तित करने की आवश्यकता है।

ID,  product, line_item, createdDate

123,  valA,    valB,    '2019-02-02'

JSON तालिका की तरह होगा।

ID,  json_column

123, { valA : 
             {valB : '2019-02-02'}}

अब, मुझे यकीन नहीं है कि इस कॉलम को बनाने के लिए किस प्रकार के parse_json फ़ंक्शन का उपयोग किया जा सकता है। जब मैं कॉलम नाम का उपयोग करता हूं, तो यह त्रुटिपूर्ण हो जाता है - 'अमान्य पहचानकर्ता'

क्वेरी का इस्तेमाल किया।

select ID, parse_json( {product : { line_item : createdDate }};
0
asarapure 29 मई 2019, 20:40

1 उत्तर

सबसे बढ़िया उत्तर

सबसे पहले, हमेशा एक पूरी तरह से प्रतिलिपि प्रस्तुत करने योग्य उदाहरण

आपने जो लिखा है उसके आधार पर आपके प्रश्न के लिए यहां एक है

create or replace table x(id int, 
                          product varchar, 
                          line_item varchar, 
                          createdDate varchar) 
as select * from values
    (123,'valA','valB','2019-02-02');

select * from x;
-----+---------+-----------+-------------+
 ID  | PRODUCT | LINE_ITEM | CREATEDDATE |
-----+---------+-----------+-------------+
 123 | valA    | valB      | 2019-02-02  |
-----+---------+-----------+-------------+

अब, मनचाहा परिणाम प्राप्त करने के लिए आप OBJECT_CONSTRUCT समारोह, इस तरह:

select id, object_construct(product, object_construct(line_item, createddate)) from x;
-----+---------------------------------------------------------------------+
 ID  | OBJECT_CONSTRUCT(PRODUCT, OBJECT_CONSTRUCT(LINE_ITEM, CREATEDDATE)) |
-----+---------------------------------------------------------------------+
 123 | {                                                                   |
     |   "valA": {                                                         |
     |     "valB": "2019-02-02"                                            |
     |   }                                                                 |
     | }                                                                   |
-----+---------------------------------------------------------------------+

यदि आप एकाधिक पंक्तियों को समूहबद्ध करना चाहते हैं तो आपको OBJECT_AGG की भी आवश्यकता हो सकती है एक साथ आइटम।

1
Marcin Zukowski 30 मई 2019, 18:21