Разделить строку в MYSQL через CRATE - PullRequest
0 голосов
/ 15 ноября 2018

Я хочу разбить строку в CRATE.Я пробовал с substr, но он берет только substr (строка, длинный, длинный).Я хочу что-то вроде функции, которая может принимать строку-разделитель.

Пример:

value = 1234-5656

выбрать SUBSTR (значение, '-', 1) в качестве первогоиз XYZ;

Я хочу разделить значение на 1234 и 5656 в запросе SQL.Но CRATE не поддерживает SUBSTR (значение, '-', 1).Поэтому я ищу вариант для разделения значения в запросе CRATE.

Любая помощь?

Ответы [ 3 ]

0 голосов
/ 15 ноября 2018

пожалуйста, попробуйте использовать этот запрос:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(name, '_', 1), '_', -1) as beforesplit, SUBSTRING_INDEX(SUBSTRING_INDEX(name, '_', 2), '_', -1) as aftersplit FROM testenter
0 голосов
/ 29 декабря 2018

Для CrateDB вы, вероятно, захотите использовать функцию regex_matches подробнее на сайте документации Create

Однако следующее должно дать вам то, что вы ищете

select regexp_matches(yourColumnName, '([0-9])\w+')[1] from yourTable 
0 голосов
/ 15 ноября 2018

SUBSTRING_INDEX пригодится здесь:

SELECT
    SUBSTRING_INDEX('1234-5656', '-', 1)  AS first,
    SUBSTRING_INDEX('1234-5656', '-', -1) AS second
FROM yourTable;

enter image description here

...