Я хочу разбить строку на строки отдельных подстрок, включая разделители " " и "-". Есть ли способ сделать это в MySQL?
Код: Выделить всё
import pandas as pd
import duckdb
user_content = pd.DataFrame({
"content_id": [1, 2, 3, 4],
"content_text": [
"hello world of SQL",
"the QUICK-brown fox",
"modern-day DATA science",
"web-based FRONT-end development"
]
})
user_content
duckdb.query("""
with sub_query as (SELECT content_id, unnest(regexp_extract_all(content_text, '(\w+|\W+)')) as original_text from user_content),
exploded_data as (select *, concat(UPPER(SUBSTRING(original_text, 1, 1)), LOWER(SUBSTRING(original_text, 2, len(original_text)))) as standardized_word from sub_query),
almost_there_tbl as (select content_id, STRING_AGG(standardized_word, '') as converted_text from exploded_data group by content_id)
select t_1.content_id, t_2.content_text, t_1.converted_text from almost_there_tbl t_1 join user_content t_2 on t_1.content_id = t_2.content_id
""") # Does not work in MySQL

Тогда ожидаемый результат для content_id 4 будет следующим:

Как видите, исходная строка разбита на отдельные подстроки и разрывы (" ", "-").
Подробнее здесь: https://stackoverflow.com/questions/798 ... substrings
Мобильная версия