【发布时间】:2019-12-05 10:42:07
【问题描述】:
我正在做这个查询
SELECT event_params FROM public.events_20180626_temp where event_name='user_engagement';
它给出了正确的如下。
{"firebase_screen_class": "SplashScreenActivity", "firebase_event_origin": "auto", "firebase_screen_id": "7757319118664517009", "engagement_time_msec": "3804"}
{"firebase_screen_class": "BaseActivity", "firebase_event_origin": "auto", "firebase_screen_id": "-8308759841787556451", "engagement_time_msec": "5184"}
{"firebase_screen_class": "SplashScreenActivity", "firebase_event_origin": "auto", "firebase_screen_id": "5605799982713019219", "engagement_time_msec": "2976"}
{"firebase_screen_class": "CreateTaleActivity", "firebase_event_origin": "auto", "firebase_screen_id": "5605799982713019221", "engagement_time_msec": "46937"}
{"firebase_screen_class": "TaleLocationActivity", "firebase_event_origin": "auto", "firebase_screen_id": "5605799982713019223", "engagement_time_msec": "2952"}
{"firebase_screen_class": "TalePhotoEditorActivity", "firebase_event_origin": "auto", "firebase_screen_id": "5605799982713019228", "engagement_time_msec": "2295"}
{"firebase_screen_class": "BaseActivity", "firebase_event_origin": "auto", "firebase_screen_id": "5605799982713019220", "engagement_time_msec": "10664"}
当我更改查询以提取键“engagement_time_msec”的值时,它显示engagement_time_msec 不存在于表中。这是针对它的查询。
select json_extract_path_text(event_params, "engagement_time_msec") from public.events_20180626_temp where event_name='user_engagement';
我使用下面的查询确认event_params 列是否包含有效的 json 字符串。
select is_valid_json(event_params) from public.events_20180626_temp;
它为每一行返回true。
true
true
true
true
true
true
有人可以帮我吗?我对红移完全陌生。谢谢。
event_params 列的 FYI 数据类型是 varchar(65553)
【问题讨论】:
标签: sql json database amazon-redshift