CREATE OR REPLACE VIEW commerce_events_tempview
AS
SELECT
snowflake_loaded_timestamp AS SNOWPIPE_LOADED_TIMESTAMP,
snowflake_loaded_timestamp::VARCHAR as CIMBA_LOADEDTIMESTAMP,
JSON:cimbaApiVersion::VARCHAR AS cimba_api_version,
JSON:partnerApiVersion::VARCHAR AS cimba_partner_api_version,
JSON:partnerApiMinorVersion::VARCHAR AS cimba_partner_api_minor_version,
JSON:partnerName::VARCHAR AS cimba_partner_name,
JSON:payloadName::VARCHAR AS cimba_payload_name,
JSON:payloadPrimaryKeyName::VARCHAR AS cimba_payload_primary_key_name,
JSON:payloadPrimaryKeyValue::VARCHAR AS cimba_payload_primary_key_value,
TRY_TO_TIMESTAMP_NTZ(JSON:payloadDate::VARCHAR) AS cimba_payload_date,
JSON:payload.eventId::VARCHAR AS eventid,
JSON:payload.orderId::VARCHAR AS orderid,
TRY_TO_TIMESTAMP_NTZ(JSON:payload.eventDate::VARCHAR) AS eventdate,
JSON:payload.eventType::VARCHAR AS eventtype,
JSON:payload.eventSourceId::VARCHAR AS eventsourceid,
JSON:payload.merchantOrderId::VARCHAR AS merchantorderid,
JSON:payload.fulfillerEventId::VARCHAR AS fulfillereventid,
TRY_TO_BOOLEAN(JSON:payload.fake::VARCHAR) AS fake,
JSON:payload.merchantId::VARCHAR AS merchantid,
detailsgrp.VALUE:itemId::VARCHAR AS itemid,
detailsgrp.VALUE:merchantItemId::VARCHAR AS merchantitemid,
detailsgrp.VALUE:detail::VARCHAR AS detail,
detailsgrp.VALUE:additionalData.description::VARCHAR AS description,
detailsgrp.VALUE:additionalData.fulfillerId::VARCHAR AS fulfillerid,
detailsgrp.VALUE:additionalData.globalFulfillerId::VARCHAR AS global_fulfiller_id,
detailsgrp.VALUE:additionalData.fulfillerName::VARCHAR AS fulfillername,
TRY_TO_NUMBER(detailsgrp.VALUE:additionalData.quantity::VARCHAR,18,4) AS quantity,
TRY_TO_BOOLEAN(detailsgrp.VALUE:additionalData.costsIncurred::VARCHAR) AS costsincurred,
detailsgrp.VALUE:additionalData.changeType::VARCHAR AS changetype,
detailsgrp.VALUE:additionalData.changeRequestId::VARCHAR AS changerequestid,
detailsgrp.VALUE:additionalData.changeRequestUri::VARCHAR AS changerequesturi,
detailsgrp.VALUE:additionalData.status::VARCHAR AS status,
detailsgrp.VALUE:additionalData.manufacturingReadyDataUrl::VARCHAR AS manufacturingreadydataurl,
md5(detailsgrp.VALUE:additionalData.manufacturingReadyDataUrl::VARCHAR) AS manufacturingreadydataurl_hash,
detailsgrp.VALUE:additionalData.errorDescription::VARCHAR AS errordescription,
detailsgrp.VALUE:additionalData.additionalInfo::VARCHAR AS additionalinfo,
detailsgrp.VALUE:additionalData.fulfillerOrderId::VARCHAR AS fulfillerorderid,
detailsgrp.VALUE:additionalData.fulfillerItemId::VARCHAR AS fulfilleritemid,
detailsgrp.VALUE:additionalData.fulfillerLocationId::VARCHAR AS fulfillerlocationid,
detailsgrp.VALUE:additionalData.globalFulfillmentLocationId::VARCHAR AS global_fulfillment_location_id,
detailsgrp.VALUE:additionalData.shipmentId::VARCHAR AS shipmentid,
detailsgrp.VALUE:additionalData.carrierId::VARCHAR AS carrierid,
detailsgrp.VALUE:additionalData.carrierServiceId::VARCHAR AS carrierserviceid,
detailsgrp.VALUE:additionalData.trackingId::VARCHAR AS trackingid,
detailsgrp.VALUE:additionalData.trackingUrl::VARCHAR AS trackingurl,
md5(detailsgrp.VALUE:additionalData.trackingUrl::VARCHAR) AS trackingurl_hash,
detailsgrp.VALUE:additionalData.carrierService::VARCHAR AS carrierservice,
TRY_TO_TIMESTAMP_NTZ(detailsgrp.VALUE:additionalData.shipDateTime::VARCHAR) AS shipdatetime,
detailsgrp.VALUE:additionalData.deliveryDetailsUrl::VARCHAR AS deliveryDetailsUrl,
md5(detailsgrp.VALUE:additionalData.deliveryDetailsUrl::VARCHAR) AS deliveryDetailsUrl_hash,
strtok_to_array(replace(detailsgrp.VALUE:additionalData, ), ',') AS additionaldata
FROM CIMPRESS.ORDERS.COMMERCE_EVENTS_RAW
,LATERAL FLATTEN(OUTER => TRUE, INPUT => JSON:payload.details) detailsgrp
The above code creates a column which has additionalData:
[
"{\"fulfillerId\":\"1\"",
"\"globalFulfillerId\":\"xyz\"",
"\"quantity\":100}"
]
- I need to get rid of the escape characters that are there.
- The result has extra characters that need to be removed.
- I am trying to remove those extra characters like "{" as i need the result to contain only key value pairs inside the array.