"Advent of SQL. Day 9 🗓️ День 9: нужно вытащить из вложенного json нужные поля. Я так и не могу запомнить, как правильно это делается в постгре, поэтому делала по интуиции) Заодно познакомилась с новыми функциями Как получилось у меня: ``` select order_data['gift']['wrapped']::boolean as gift_wrapped, trim(both '""' from order_data['risk']['flag']::text) as risk_flag from orders ``` Я сделала в питонячем виде, и это сработало👍 Сначало было просто order_data['risk']['flag'], но мне не понравились лишние кавычки: ``` risk_flag ---------- ""high"" ""medium"" ``` Перепроверила типы данных через pg_typeof. В первом случае тип столбца jsonb, а во втором - text: ``` select pg_typeof(order_data['risk']['flag']) as risk_flag, pg_typeof(order_data['risk']['flag']::text) as risk_flag2 from orders ``` Я кастанула, но кавычки не ушли. Пошла гуглить, наверняка есть хитрый trim без substring/replace. И такой есть! Вот эта прикольная конструкция позволяет нам удалять символы с разных сторон, общий синтаксис такой: `TRIM([LEADING | TRAILING | BOTH] trim_character FROM source_string)` У спикера же получилось более канонично 🙂 ``` select (order_data -> 'gift' ->> 'wrapped')::boolean as gift_wrapped, order_data -> 'risk' ->> 'flag' as risk_flag from orders``` `-> достает по ключу json ->> достает по ключу строку` 📍 Advent of SQL (с впн) 📍 SQL Advent Calendar (с впн) 📍 Мои решения @data_engineerette"
"Advent of SQL. Day 9 🗓️ День 9: нужно вытащить из вложенного json нужные поля.…
Из этого канала
- #520Advent of SQL. Day 10 🏰 Вот такую конструкцию я 200% ни разу не встречала и не…
Advent of SQL. Day 10 🏰 Вот такую конструкцию я 200% ни разу не встречала и не подозревала о ней! В задаче нужно было перенести данные из таблицы1 в таблицу2 и…
- #521Собрались как-то DeepSeek, Grok и Gemini... Вам попадался видос, как несколько…
Собрались как-то DeepSeek, Grok и Gemini... Вам попадался видос, как несколько иишек играют в мафию? Я наконец посмотрела, и тут прям полноценный разбор, как…
- #522Advent of SQL. Days 11-14 🏂 Сначала вспомнили про скользящее среднее, его нужно…
Advent of SQL. Days 11-14 🏂 Сначала вспомнили про скользящее среднее, его нужно было найти за 7 предыдущих дней.
- #518Хотите побыть Дедом Морозом? Новый год - это пора чудес✨ И сегодня вы можете…
Хотите побыть Дедом Морозом? Новый год - это пора чудес✨ И сегодня вы можете помочь исполнению новогоднего чуда! У нас в ламоде проводится конкурс мерча.
- #517Advent of SQL. Days 7-8 ☕️ На 7й день мы распределяли посетителей по разным…
Advent of SQL. Days 7-8 ☕️ На 7й день мы распределяли посетителей по разным какао-станциям на основе их вкусовых предпочтений.