Что такое эквивалент мультимножества в снежинке

Мне нужно преобразовать один синтаксис Oracle в снежинку. Это похоже на «table (cast (multiset (выберите уровень из двойного соединения по уровню‹ = length (regexp_replace ('ABC-EFG-E', '[^;] +')) +1 as sys.odciNumberList)) уровни »

Может ли кто-нибудь помочь мне с этим преобразованием.


person Sacred Games    schedule 07.04.2020    source источник


Ответы (2)


гм, я бы сказал либо seqX, либо генератор, в зависимости от того, что вам действительно нужно:

https://docs.snowflake.com/en/sql-reference/functions/seq1.html https://docs.snowflake.com/en/sql-reference/functions/generator.html.

обратите внимание, что результаты seqX не обязательно будут последовательными, и для получения реальной последовательности вам необходимо применить row_number ()

что касается случайных строк, они не будут слишком обширными, вы можете получить: https://docs.snowflake.com/en/sql-reference/functions/randstr.html

но вот об этом я боюсь ...

person MMV    schedule 07.04.2020
comment
Привет @MMV, не работает. Есть ли другой альтернативный способ добиться этого? Спасибо. - person Sacred Games; 08.04.2020
comment
можешь объяснить, чего пытаешься достичь? извините, на самом деле у меня не установлен oracle, поэтому я не могу запустить ваш код и посмотреть - person MMV; 08.04.2020
comment
Я пытаюсь вычислить длину из регулярного выражения, а затем подключиться по уровню таблицы. - person Sacred Games; 08.04.2020
comment
Спасибо @MMV, мне удалось исправить проблему. Используя генератор, приведение выполняется с помощью снежинки внутри, поэтому она также удалена из запроса. - person Sacred Games; 08.04.2020

Опубликуйте Эквивалент в снежинке, как вы добились, и любезно опубликуйте запрос в снежинке .., чтобы он был полезен другим

person Lesly Premsingh C    schedule 08.04.2020
comment
Привет, Лесли, что я сделал, было. Удалено все, как указано выше, и заменено на (выберите seq4 () как column_val из таблицы (generator ())) уровни, где column_val ‹= length (regexp_replace ('ABC-EFG-E', '[^;] +') ) +1 - person Sacred Games; 08.04.2020