184 похожих чатов

Сообщество, не нашел решения. Обращаюсь. Хочу разобрать JSON строку в именованный

tuple с разными типами.
Например такой: Tuple(typeCode String , "text" String , "code" String , "pregnancyTerm" Int32 , "pregnancyTermUnit" String)

CH 22.8.5.29 в WSL2 под Docker (data volume лежат в linux части FS).

При разборе
select
JSONExtract('{"typeCode":"a", "text":"B", "code":"C", "pregnancyTerm":2, "pregnancyTermUnit":"mg"}','Tuple(typeCode String , "text" String , "code" String , "pregnancyTerm" Int32 , "pregnancyTermUnit" String )')
; -- not works! SQL Error: java.lang.IllegalArgumentException: Unknown data type: typeCode String

select
tupleElement(JSONExtract('{"typeCode":"a", "text":"B", "code":"C", "pregnancyTerm":2, "pregnancyTermUnit":"mg"}','Tuple(typeCode String , "text" String , "code" String , "pregnancyTerm" Int32 , "pregnancyTermUnit" String )'),'typeCode')
; -- works!

Вопросы:
1. Получается, что JSONExtract в именованный tuple работает, но как к нему корректно обращаться? У меня это не финальная конструкция - в итоге будет Массив именованных туплей Array(Tuple(typeCode String , "text" String , "code" String , "pregnancyTerm" Int32 , "pregnancyTermUnit" String) ,но при его формировании падает с той же ошибкой
2. Оптимально ли применение такой конструкции Array(Tuple()) для моего характера разнотипных данных?

4 ответов

22 просмотра

WITH JSONExtract('[{"typeCode":"a", "text":"B", "code":"C", "pregnancyTerm":2, "pregnancyTermUnit":"mg"}]', 'Array(Tuple(typeCode String , "text" String , "code" String , "pregnancyTerm" Int32 , "pregnancyTermUnit" String))') AS x SELECT tupleElement(x, 'text') AS res Query id: 33d70fbb-95bd-43eb-a9ec-2f592286ff2d ┌─res───┐ │ ['B'] │ └───────┘ Ну через tupleElement и обращаться > 2. Оптимально ли применение такой конструкции Array(Tuple()) для моего характера разнотипных данных? А что вы делать с ними будете то

TT- Автор вопроса
Dmitry [Altinity] Titov
WITH JSONExtract('[{"typeCode":"a", "text":"B", "c...

Да, такая конструкция работает, но можно ли сохранить в таблице такой именованный разнотипный Tuple? 2. Хранить и анализировать. В моем случае это например массив диагнозов пациента, они все имеют смысл для анализа. Лианеризовать не получается.

TT
Да, такая конструкция работает, но можно ли сохран...

> Лианеризовать не получается. ?? https://kb.altinity.com/altinity-kb-schema-design/best-schema-for-storing-many-metrics-registered-from-the-single-source/#2f-combined-approach

TT- Автор вопроса
Dmitry [Altinity] Titov
> Лианеризовать не получается. ?? https://kb.alt...

Как жаль, что не прочитал этого ранее, но лучше поздно, чем после релиза =). Спасибо.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта